- This topic has 30 replies, 3 voices, and was last updated 15 years, 6 months ago by emailaya.
-
AuthorPosts
-
April 27, 2009 at 8:31 pm #32898emailayaParticipant
hi
playing a bit with TsShellListView causes an exception, i have 2 callstacks that demonstrates the problem, not really sure why::7c812aeb kernel32.RaiseException + 0x52
Classes.TThread.Terminate
acShellCtrls.TacCustomShellChangeNotifier.Destroy
System.TObject.Free
acShellCtrls.TacCustomShellListView.SetAutoRefresh(???)
acShellCtrls.TacCustomShellListView.RootChanged
acShellCtrls.TacCustomShellListView.SetPathFromID(???)
acShellCtrls.TacCustomShellListView.Back
FileSpace.TfrmFileSpace.btnUpFolderClick(???)the last line above is a simple: lsflShell.Back;
the error is: Cannot terminate an externally created thread.
i seems to get it on several occasions after clicking a folder/drive in “my computer”/”desktop”
please adviceApril 27, 2009 at 8:57 pm #38854emailayaParticipanthi
to make things easier attached exe + sources
check 2 things:
1) open the project (D2009) and right click the unit1.pas tab and close it, it will close but u will also get a msg about list index out of bounds(0)
2) run the exe file, select “my computer” and then press the button try to play a bit with the folders and soon enough u will receive the error i posted in my original postApril 28, 2009 at 1:21 pm #38882SupportKeymasterHi and thank you for demo, I'll research it soon.
PS. I think, you must try to use the VirtualShellTools components, they are much better than Borland ShellControls and free for use with sources.
April 28, 2009 at 2:56 pm #38894emailayaParticipantdo u think this will be solved for 6.31?
April 30, 2009 at 6:06 am #38919SupportKeymasterVersion 6.31 is ready for uploading already and will be available today-tomorrow.
I'll try to solve your problem in the next release.April 30, 2009 at 12:57 pm #38945emailayaParticipantok
can u give me a kind of a workaround?
according to the callstack, the error comes from AC code
maybe i can do something to make it work until the formal fix is out?now that u fixed the bordericons (still didnt check it), this is the only thing that stalls me from releasing a new version
thanksMay 5, 2009 at 12:42 pm #38984SupportKeymasterFor releasing of new version of program I can suggest to use a stable version of component…
May 5, 2009 at 1:12 pm #38986emailayaParticipantyou are right but my app was released as beta anyway, moreover, 6.30 had some new features i wanted to use
with 6.31, the runtime error seems to be fixed, the designtime (closing the unit shows a list index out of bounds(0)) is still there
May 9, 2009 at 2:32 pm #39097emailayaParticipantin 6.32 this problem is back (both runtime and design time)
it didnt happen with 6.22 (i didnt check 6.23 and i rather not do it now that im working with 6.32)i guess there were changes between 6.22 and 6.30 that causes this problem
May 9, 2009 at 8:10 pm #39099emailayaParticipantthis is the bug report i get, i get it constantly (other users with other computers got it as well)
date/time : 2009-05-09, 23:05:36, 187ms
operating system : Windows XP Service Pack 3 build 2600
system up time : 3 days 3 hours
program up time : 10 seconds
processors : 2x Intel® Core™2 Duo CPU E6750 @ 2.66GHz
physical memory : 966/2047 MB (free/total)
free disk space : (C:) 20.19 GB
display mode : 1280×1024, 32 bit
process id : $a6c
allocated memory : 70.86 MB
exec. date/time : 2009-05-09 19:20
compiled with : Delphi 2009
madExcept version : 3.0i beta 2
callstack crc : $3711964c, $52e2ea91, $83446841
exception number : 1
exception class : EThread
exception message : Cannot terminate an externally created thread.main thread ($6d4):
00484c40 +0018 app.exe Classes 11419 +1 TThread.Terminate
006f0ee3 +0027 app.exe acShellCtrls 1453 +5 TacCustomShellChangeNotifier.Destroy
00404ad8 +0008 app.exe System 9806 +1 TObject.Free
006f4012 +0022 app.exe acShellCtrls 2806 +1 TacCustomShellListView.Destroy
00533c11 +008d app.exe Controls 7737 +16 TWinControl.Destroy
0053b661 +001d app.exe Controls 12703 +2 TCustomControl.Destroy
007320be +002e app.exe sPanel 155 +2 TsPanel.Destroy
00533c11 +008d app.exe Controls 7737 +16 TWinControl.Destroy
00510770 +0028 app.exe Forms 2644 +3 TScrollingWinControl.Destroy
005116a9 +00f9 app.exe Forms 3246 +33 TCustomForm.Destroy
00404ad8 +0008 app.exe System 9806 +1 TObject.Free
0051692c +0000 app.exe Forms 6232 +0 TCustomForm.CMRelease
005321b6 +02d2 app.exe Controls 6642 +91 TControl.WndProc
00730d27 +0383 app.exe sSpeedButton 870 +83 TsSpeedButton.WndProc
00531ddc +0024 app.exe Controls 6420 +10 TControl.Perform
0076c0be +0032 app.exe sFade 249 +2 TsAnimTimer.Repaint
0070b0a8 +4b20 app.exe sSkinProvider 2907 +1265 TsSkinProvider.NewWndProc
7c90e470 +0010 ntdll.dll KiUserCallbackDispatcher
00535dd4 +002c app.exe Controls 9065 +3 TWinControl.MainWndProc
00485dcc +0014 app.exe Classes 12723 +8 StdWndProc
7e418a0b +000a USER32.dll DispatchMessageW
0051af13 +00f3 app.exe Forms 9613 +23 TApplication.ProcessMessage
0051af56 +000a app.exe Forms 9643 +1 TApplication.HandleMessage
0051b281 +00c9 app.exe Forms 9780 +26 TApplication.Runapparently it happens on a certain scenario, i can show it to u on teamviewer
as mentioned, it didnt happen with older versionsMay 9, 2009 at 8:16 pm #39100emailayaParticipantis this of any help to you?
May 9, 2009 at 8:46 pm #39101emailayaParticipantapparently its a problem of D2009 IDE
https://forums.codegear.com/thread.jspa?mes…1821May 10, 2009 at 3:29 pm #39104emailayaParticipantplease read here:
http://qc.embarcadero.com/wc/qcmain.aspx?d=69358u dont have ShellCtrl but acShellCtrls but i wasnt sure how exactly to integrate it into your code – this is about the designtime error.
about the runtime problem: i pasted the callstack previously, not sure there is a relation between the 2 problemsplease advice
May 10, 2009 at 5:56 pm #39105HunniParticipantHi,
please read here:
http://qc.embarcadero.com/wc/qcmain.aspx?d=69358u dont have ShellCtrl but acShellCtrls but i wasnt sure how exactly to integrate it into your code – this is about the designtime error.
about the runtime problem: i pasted the callstack previously, not sure there is a relation between the 2 problemsplease advice
This fix didn't solved the problem 100%.
You need some more modifications inside the ShellCtrls.pas (see below).
If necessary i can post also the complete unit.public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override; //was missing
procedure Refresh(Node: TTreeNode);..
..
..procedure TreeUpdate(NewPath: PItemIDList);
procedure SetObjectTypes(Value: TShellObjectTypes); virtual;
//!procedure WMDestroy(var Message: TWMDestroy); message WM_DESTROY;
public
constructor Create(AOwner: TComponent); override;destructor TCustomShellTreeView.Destroy;
begin
ClearItems;
FRootFolder.Free;
inherited;
end;procedure TCustomShellTreeView.ClearItems;
var
I: Integer;
begin
if not HandleAllocated or (Items.Count = 0) then
Exit;
Items.BeginUpdate;
try
for I := 0 to Items.Count-1 doTorsten
PS: this Bug also exist in older Delphi Versions!May 10, 2009 at 6:09 pm #39106emailayaParticipantyeah i just saw this update in the post on codegear forum itself
btw, i notice that AC uses its own acShellCtrls so can i just apply these changes there?
if u have the complete unit of AC itself, please send it to me, if the changes are of the original ShellCtrls then i will try it myself and see if it worksbtw, does this solve the runtime problem as well?
btw2, r u him (Torsten) ? <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />May 10, 2009 at 6:20 pm #39107HunniParticipantHi,
yeah i just saw this update in the post on codegear forum itself
btw, i notice that AC uses its own acShellCtrls so can i just apply these changes there?
if u have the complete unit of AC itself, please send it to me, if the changes are of the original ShellCtrls then i will try it myself and see if it worksbtw, does this solve the runtime problem as well?
btw2, r u him (Torsten) ? <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />Yes that's me.
I haven't changed the acShellCtrls Unit up to now (in the moment no need for it)
The runtime problems i haven't met with the modification
Have a nice weekend
Torsten
PS: When I just overview the AC Source, I can see that following modification should be necessary
CODEprocedure TacCustomShellTreeView.ClearItems;
var
I: Integer;
begin
if not HandleAllocated or (Items.Count = 0) then
Exit;
Items.BeginUpdate;
.
.
.May 10, 2009 at 6:43 pm #39108emailayaParticipantfunny, small world <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
im using TsShellListView (not TreeView) and the unit acShellCtrls is needed without ShellCtrls unit itself so im not sure how much changing ShellCtrls unit will help.
can u tip on what i need to change in acShellCtrls unit? except for the change u already mentioned regarding TreeView
thanksMay 10, 2009 at 7:10 pm #39109HunniParticipantHi,
funny, small world <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />im using TsShellListView (not TreeView) and the unit acShellCtrls is needed without ShellCtrls unit itself so im not sure how much changing ShellCtrls unit will help.
can u tip on what i need to change in acShellCtrls unit? except for the change u already mentioned regarding TreeView
thanksmaybe Serge knows this better.
But I will have a also a look, but in the moment I'm quit busy with some other problems (PLC Software problems)
Torsten
May 12, 2009 at 9:25 am #39136emailayaParticipantnot sure if the problems are related but the runtime problem is the important one (design time is less important). it could be that the cause of the 2 problems are the same.
May 12, 2009 at 9:53 am #39139SupportKeymasterHello
Here is modified file, please try him
-
AuthorPosts
- You must be logged in to reply to this topic.