Autor Beitrag
motion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: So 11.06.06 21:48 
Ich einer Scrollbox erzeuge ich dynamisch zur Laufzeit verschiedene Frames.
Jetzt habe ich aber festgestellt, das bei diesen dynamischen Frames die Events (speziell die OnFrameEnter und OnFrameExit) nicht feuern.
Muss ich diese bei der runtime-Erzeugung im create-event zuweisen?
Viel lautet die Syntax dafür?
Ich habe keine gültige Property gefunden, welche die Prozeduradressen trägt.
Auch die events der in den Frames enthaltenen Events feuern nicht (z.B. die OnExit eines eingebundenen TEdit Feldes). Muss ich diese auch einzeln bei der dynamischen Erzeugung zuweisen?
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mo 12.06.06 07:58 
Also du hast eine Behandlungsroutine dafür und dann machst du in der Schleife wo du die ganzen Panels erstellst jeweils:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
for i:= 0 to n do
begin
  newpanel:=TPanel.Create(Scrollbox);
  newPanel.Parent:=Scollbox;
  newPanel.OnKeyPress:= AllFramesKeyPressed;
end;

procedure AllFrameKeyPressed(Sender:TObject);
begin
  TFrame(sender).Tag ....
end;
motion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: Mo 12.06.06 08:53 
Ja, so in der Art. Bei mir geht es um die onExit Events einzelner TEdit Komponenten und des Frames als ganzes.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Constructor TFrame_AAW_Preiszeile.Create (BackColor : TColor; Aowner : Tcomponent; CallBack : TSetLastenteredFrame;readOnly : Boolean);
Begin
  inherited;
  EPreis.OnExit:=EpreisExit;
  OnExit:=FrameExit;
End;


Die Erzeugung des Frames selbst geschieht in einer unit

EPreis ist hierbei eine TEdit Komponente.
Leider wird keines der beiden Exit Komponenten eingebunden (d.h. Breakpoint in beiden sind ungültig und werden daher wohl vom Linker nicht mal eingebunden).

Aber halt, ich bin gerade einer Sache auf die Spur gekommen ... Melde mich gleich wieder
motion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: Mo 12.06.06 09:07 
Ich habe den Fehler gefunden ...
Ich habe die betreffenden Änderungen in einem Frame gemacht, welcher im Projekt noch vorhanden war, aber nicht mehr eingebunden wurde (inzwischen durch einen anderen, funktionsoptimierten Frame ersetzt).
Also habe ich den betreffenden alten Frame jetzt im Projekt gelöscht, dann die Änderungen am aktuellen Frame vorgenommen und "Bingo", alles klar!

War also mein Fehler.

Vielen Dank für die Antwort