![]() |
Handle Problem
Moin Leute !
Ich hab eine prozedur in einer unit :
Delphi-Quellcode:
nun möchte ich diese prozedue in einer form so ausführen :type myclass = class targethandle : HWND; procedure init(windowhandle : HWND); ... end; ... procedure myclass.init(windowhandle : HWND); begin targethandle := windowhandle; // in dieser zeile kommt der fehler ... end;
Delphi-Quellcode:
aber es kommt währen der laufzeit immer zu folgendem Fehler :var x : myclass; procedure y; begin x.init(application.handle); end; 'access violation at address 0046280E in modul ...' Weiß jemand wie das beheben kann ? |
Moin Braingrenade,
bist Du sicher, dass der Fehler nicht in dieser Zeile kommt
Delphi-Quellcode:
Vielleicht hast Du's ja auch nur nicht mit hingeschrieben, aber ich seh' nämlich nirgends, dass das Objekt auch erzeugt wurde.
x.init(application.handle);
|
aso!
Du meinst ich soll Tobject vererben und dann create aufrufen? ich dachter immer das geht auch ohne! |
Moin Braingrenade,
wenn Du etwas von class ableitest so wird das intern als class(TObject) gesehen. In keinem Falle aber kommst Du um den Aufruf eines Konstruktors herum, wenn Du eine Instanz von Deiner Klasse bilden willst. Dazu musst Du nicht zwingend selber einen erstellen, wenn Du nichts hast was dort initialisiert werden soll. Wenn Du also erst den Konstruktor der Klasse aufrufst
Delphi-Quellcode:
sollte es gehen.
var x : myclass;
procedure y; begin x := myclass.create; // Instanz von MyClass erzeugen x.init(application.handle); end; Dazu musst Du in Deiner Klasse nichts ändern. |
Alles funzt jetzt !!
DAnke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 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