Utilisation de EnumChildWindows dans une class
Bonjour, j'utilise la fonction EnumChildWindows dans une class que j'ai créé. (j'en suis au début de l'apprentissage POO)
Grace à la fonction suivante, je récupère le Handle du CommandLine AutoCAD (EnumChildWindows se trouve dans la function InitialiseAutoCAD de la même class)
Code:
1 2 3 4 5 6 7 8 9 10 11
|
procedure TOfmlArray.InitialiseAutoCAD;
var
pConAcadFile, DwgTemplate, ArxPath : String;
begin
...
EnumChildWindows(AutoCadOle.Application.HWND, @GetCommandLineHandle, 0);
...
end; |
function GetCommandLineHandle. La variable CommandLineHandle est de type Handle et déclaré en public dans ma class
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function TOfmlArray.GetCommandLineHandle(H:HWND; L: Integer): Bool; stdcall;
var WText,ClassName : Array[0..255] of Char;
begin
GetClassName(H, ClassName, SizeOf(ClassName));
GetWindowText(H, WText, SizeOf(WText));
if (WText = 'Headlands') then
begin
Result := False;
CommandLineHandle := H;
end
else Result := True;
end; |
Voici ma class (en bref)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
TOfmlArray = class
...
public
CommandLineHandle : HWND;
vpConConfHandle : HWND;
AutoCadOle : variant;
function GetCommandLineHandle(H:HWND; L: Integer): Bool; stdcall;
procedure DelphiMsgToAutoCAD(CadHwnd : HWND; Cmd : String);
procedure StartAutoCadConfigurator;
procedure HideAutoCadConfigurator;
procedure InitialiseAutoCAD;
constructor Creation();
end; |
Mon problème est le suivant, si j'exécute le EnumChildWindows hors de ma class, tout fonctionne nickel!
Dès que je l'intègre (avec la fonction qui lui est associée "GetCommandLineHandle" ) rien ne va plus, j'ai une erreur du compilateur m'indiquant "Variable requiered" et je ne sais pas pourquoi étant donné que j'ai juste adapté le tout dans ma class sans modification du code!