Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Handle (https://www.delphipraxis.net/79909-problem-mit-handle.html)

Mackhack 30. Okt 2006 20:37


Problem mit Handle
 
Hi,

ich habe folgenden Code:

Delphi-Quellcode:
var
  ...
  AppHandle: TAppHandle;
  ...
begin
  AppHandle := TAppHandle.Create;
  AppHandle := 0;
  WhichApp := Random(LbxApplications.Items.Count);
  if ( TAppHandle(LbxApplications.Items[WhichApp]).Handle = 0) ) then <=== Hier
  begin
    ZeroMemory(@SEI, SizeOf(SEI));
    ...
  end
  ...
end;
Warum ist beim Debuggen in der markierten Zeile das Handle immer 18xxxxxx? Da noch kein Handle in der Object List von der Listbox eingetraen wurde und ich AppHandle mit 0 initialisiert habe sollte das doch nicht sein oder?

Flocke 30. Okt 2006 21:09

Re: Problem mit Handle
 
Zitat:

Zitat von Mackhack
Delphi-Quellcode:
  AppHandle := TAppHandle.Create;
  AppHandle := 0;

Ist TAppHandle ein Integer oder eine Klasse?

Zitat:

Zitat von Mackhack
Delphi-Quellcode:
  if ( TAppHandle(LbxApplications.Items[WhichApp]).Handle = 0) ) then <=== Hier
Warum ist beim Debuggen in der markierten Zeile das Handle immer 18xxxxxx? Da noch kein Handle in der Object List von der Listbox eingetraen wurde und ich AppHandle mit 0 initialisiert habe sollte das doch nicht sein oder?

Meinst du vielleicht "Objects" statt "Items"?

Mackhack 31. Okt 2006 06:06

Re: Problem mit Handle
 
Zitat:

Zitat von Flocke
Zitat:

Zitat von Mackhack
Delphi-Quellcode:
  AppHandle := TAppHandle.Create;
  AppHandle := 0;

Ist TAppHandle ein Integer oder eine Klasse?

Zitat:

Zitat von Mackhack
Delphi-Quellcode:
  if ( TAppHandle(LbxApplications.Items[WhichApp]).Handle = 0) ) then <=== Hier
Warum ist beim Debuggen in der markierten Zeile das Handle immer 18xxxxxx? Da noch kein Handle in der Object List von der Listbox eingetraen wurde und ich AppHandle mit 0 initialisiert habe sollte das doch nicht sein oder?

Meinst du vielleicht "Objects" statt "Items"?

TAppHandle is ne Klasse.

aber auch wenn ich

Delphi-Quellcode:
  if ( TAppHandle(LbxApplications.Items.Objects[WhichApp]).Handle = 0) ) then <=== Hier
schreibe kann bekomme ich eine Zugriffsverletztung. Ich kann allerdings auf Handle waehrend dem Debuggen nicht zugreifen da auf Self nicht zugegriffen werden kann.

Sunlight7 31. Okt 2006 13:02

Re: Problem mit Handle
 
Da ich den Code geschrieben habe, weiß ich, das es funktioniert :mrgreen:

IMHO kann das bei Dir nicht funktionieren, weil Du nicht jede Zeile mit AddObject hinzugefügt hast?!

Und:

Delphi-Quellcode:
TAppHandle(LbxApplications.Items.Objects[Index]).Handle
Du hast das Objects vergessen :wink:

Mackhack 31. Okt 2006 16:49

Re: Problem mit Handle
 
Hi,

wie du siehst hab ich doch das Objects eingefuegt in meiner Ergaenzung. Es tut trotzdem nicht! Bekomme ne AV!!!

Sunlight7 31. Okt 2006 17:00

Re: Problem mit Handle
 
Dann hast Du die Zeilen nicht mit (TListBox.)AddObject hinzugefügt...

(TListBox.)Add darfste nicht mehr nehmen, sonst fehlen die Pointer und Du hast eine schöne nette AV.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz