Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Overflow Error bei EnumChildWindows

  Alt 2. Jan 2005, 19:49
ich baue eine Komponente die alle ChildWindows eines Fensters anzeigt.

Dazu hab ich eine Function aus der Schweiz (etwas abgeändert,aber nur bei LinesAdd...) :

Delphi-Quellcode:
function EnumProc(wnd: HWND; Lines: TStrings): BOOL; stdcall;
var
  buf, Caption: array[0..255] of char;
  classname : PChar;
begin
  Result := True;
  GetClassName(wnd, buf, SizeOf(buf) - 1);
  SendMessage(wnd, WM_GETTEXT, 256, Integer(@Caption));
  GetClassName(wnd,classname,10);
  Lines.Add(Format(' %s : %d , Caption: %s ',
           [buf, wnd, Caption]));
end;
Die funktioniert auch prima aber meine Komponente hat einen eingebauten Timer in dem etwa das steht :

Delphi-Quellcode:
procedure TMeinControl.Timen(Sender : TObject);
begin
// FControl : TComboBox;
FControl.Clear;
EnumChildWindows(Parent.Handle, @EnumProc, Integer(FControl.Items)); //Parent.Handle nur zur Probe
// Unwichtiges ausgelassen
end;
aber wenn ich diese Komponente auf mein Formular mache bekomme ich nach kurzer ZEit einen OverflowError
Weis jemand woher der kommen kann ?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat