Hallo,
ich hab ein kleines Programm geschrieben, was das Rendern mehrerer Tile mit Terragen vereinfacht. Es simuliert dabei einfach die Usereingaben. Das funktioniert auch einwandfrei, nur ein User hat damit Probleme. Bei ihm funktionieren zwei Renderdurchgänge, doch beim dritten werden plötzlich - ohne das Terragen geschlossen wurde - teilweise neue Handles für die Controls und noch schlimmer eine andere Reihenfolge der Controls von EnumChildWindows zurückgegeben.
Syntax: Handly; Classe; ControlID
Beispiele - siehe weiter unten in einem weiteren Beitrag von mir.
Das Windowhandle vom Hauptfenster ist in beiden Fällen gleich. Wieso wird eine andere Reihenfolge und neue Handles zurückgegeben, ohne dass das Programm geschlossen wurde? Bei anderen Usern und auch bei mir tritt dieser Effekt nicht auf und es werden bei jedem Durchlauf immer die gleichen Handles und die gleiche Reihenfolge zurückgegeben.
Hier noch die die EnumProc:
Delphi-Quellcode:
function EnumProc(wnd: HWND; Lines: TStrings): BOOL; stdcall;
var buf : array[0..255] of char;
begin
Result := True;
GetClassName(wnd, buf, SizeOf(buf) - 1);
Lines.Add(Format('%d,%s,%d', [wnd, buf, GetDlgCtrlID(wnd)])); //Lines ist eine TStringlist
end;
Danke schonmal ...