Autor Beitrag
Bayo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Sa 02.08.03 21:21 
Hi zusammen..

Ich schlage mich gerade ein wenig mit der api rum und bringe irgendwie die funktion "EnumChildWindows" nicht richtig zum laufen!

Folgend mein code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
type
  wndEnumProc = function (hWnd: HWND; lParam: LPARAM): BOOL of object;

FWndEnumProc: wndEnumProc;
function HcWndEnumProc(hWnd: HWND; lParam: LPARAM): BOOL;

procedure TForm1.btnEnumChildrenClick(Sender: TObject);
begin
  FWndEnumProc := HcWndEnumProc;
  EnumChildWindows(Handle, TFNWndEnumProc(@FWndEnumProc), LPARAM(LPCTSTR('test')));
end;

function HcWndEnumProc(hWnd: HWND; lParam: LPARAM): BOOL;
var
  wndClass: String;
begin
  SetLength(wndClass, 50);
  SetLength(wndClass, GetClassName(hWnd, PChar(wndClass), Length(wndClass)));
  Showmessage(wndClass+' '+LPCTSTR(lParam));
  Result := True;
end;


Für jedes untergeordnete Fenster des Form1 sollte die Callback funktion "HcWndEnumProc" aufgerufen werden.. was auch funktioniert! Trotzdem muss ich beim Aufrufen der funktion "EnumChildWindows" irgend einen Fehler gemacht haben, denn beide Parameter (hWnd und lParam) beinhelten werte, die nicht stimmen können! Auch wenn ich innerhalb der funktion "HcWndEnumProc" auf andere Variablen (z B. auf das Handle des Formulars) zugreife, stimmen diese Werte nicht! Kann evtl. jemand nachvollziehen, welchen fehler ich gemacht habe? Ich bin im Moment leider ziehmlich ratlos :(

Vielen Dank für eure Bemühungen und Grüsse... Dominic
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Sa 02.08.03 23:02 
Du hast das stdcall bei deiner Callback Funktion vergessen.

_________________
Ist Zeit wirklich Geld?
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: So 03.08.03 11:46 
Außerdem ist bei dir die Callback-Funktion eine Methode und eine Methode fürht intern immer noch einen zusätzlichen Parameter (die Self-Referenz) mit!

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!