Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: [Andorra] - Auf Events reagieren ?

  Alt 5. Jan 2009, 18:29
Tests haben ergeben das "ConnectEvents" zweimal aufgerufen wird.
Delphi-Quellcode:
 writeln('OK00');
    //Check for on key down event
    PropInfo := GetPropInfo(Control, 'OnKeyDown');
    if (FKeyDownComp = nil) and (PropInfo <> nil) then
    begin
      writeln('OK01');
      Method := GetMethodProp(Control, PropInfo);
      FOldKeyDown := TKeyEvent(Method);
      PKeyEvent(@Method.Code)^ := KeyDown; Method.Data := self;
      SetMethodProp(Control, PropInfo, Method);
      FKeyDownComp := Control;
    end;
Der Debugger geht bei mir leider nicht. Darum gehe ich diesen weg mit Writeln.
Beim ersten durchgang werden alle beide weriteln aufgerufen beim zweiten nicht mehr. Warum das so ist weiß ich noch nicht. Ich stelle weitere nach Forschungen an. Ich weiß allerdings das die Events vor einiger Zeit geklappt haben.

Edit01:
Das seltsame ist das die Procedure scheinbar zwei Mal aufgerufen wird. tue ich aber ein writeln am anfang der Procedure ConnectEvents erscheint die Meldung nur einmal. Erst wenn er bei onKeyDown ist. PropInfo scheint auch richtig gesetzt zu sein. Werde aber weiter Forschen.

Edit02: Habe übersehen das es sich um eine while schleife handelt. Also ist das verhalten hier richtig. Glaube ich.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat