Autor Beitrag
Holg_i
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Mi 14.12.11 13:31 
Jetzt benötige ich einen Hellseher

Ich arbeite mit Delphi4... Ja noch immer :-) aber das sollte das Problem nicht sein sondern nur als Vorabinfo. Mein Problem: Ich habe im FormCreate folgendes stehen:

ausblenden Delphi-Quelltext
1:
Application.OnMessage:=MenuClick; // Message in der Procedure MenuClick eventuell abfagen.					


Soweit so gut geht auch wunderbar keine Frage. Nun arbeitet das Programm recht fein aber. Führe ich folgende Procedure aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.TStartButtonClick(Sender: TObject);


begin
     TStartButton.Enabled:=False;
end;


Geht danach meine Application.OnMessage:=MenuClick nicht mehr. Mehr mache ich in der Procedure echt nicht. Rufe ich danach folgendes durch das ereignis OnClick auf

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.NeuClick(Sender: TObject);

begin
     TStopButtonClick(Self);
End;


Mehr mach ich wieder echt nicht, geht meine Application.OnMessage:=MenuClick wieder.

Und jetzt kommt es noch dicker. Rufe ich die Procedure TStopButtonClick durch das ereignis OnClick auf geht meine Application.OnMessage:=MenuClick NICHT wieder.

Also alle die eine Glaskugel haben. Ran an die Tasten. Das beschriebene Problem ist echt so wie ich es schreibe.

Das Application.OnMessage:=MenuClick geht nicht mehr nach TStartButtonClick durch das ereignis OnClick und geht erst wieder wenn ich NeuClick über OnClick aufrufe. Rufe ich TStopButtonClick über das ereignis OnClick auf geht die Application.OnMessage:=MenuClick nicht.

Der Hammer oder????
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mi 14.12.11 13:43 
Hat der Button im OnClick MenuClick zugewiesen bekommen?
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 14.12.11 14:11 
Fummelst Du das Handled der Msg an?

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Mi 14.12.11 14:13 
Die Procedure TStartButtonClick ist auf einem OnClick eines Button, wie auch die Procedure NeuClick.

Eventuell ist es noch hilfreich das ich zu einem kein Menu habe.. alles nur über Button und Popup. Das einzige was ich an Menu habe habe ich ins Systemmenu geschafft. Deswegen auch die Procedure mit dem Application.OnMessage:=MenuClick; // Message in der Procedure MenuClick eventuell abfagen.


Aufgefallen ist mir auch das wenn ich ein MDI-Fenster erstelle das Application.OnMessage:=MenuClick; auch wieder geht.

Moderiert von user profile iconNarses: Beiträge zusammengefasst

user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
Fummelst Du das Handled der Msg an?


Wie meinst Du das????


Habe gerade mal meine MenuClick das ist die Procedure die aufgerufen wird. ( Application.OnMessage:=MenuClick; // Message in der Procedure MenuClick eventuell abfagen. ) untersucht

Diese wird immer aufgerufen nur sehe ich folgendes

ausblenden Delphi-Quelltext
1:
Memo1.Lines.Add(IntToStr(msg.message));					


Drücke ich meine F12 Taste kommt im Normalfall

256
15
257
15

Wenn es nicht mehr geht kommt

260
15
261
15

Wenn es dann wieder geht

256
15
257
15

Wollte ich nur mal weitergeben bin weiterhin am stöbern

Ach ja DANKE fürs annehmen meines Problems

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Weiter geht es 256=WM_KeyDowm
257=WM_KeyUp

Soweit ok nur ist es bei mir danach
260=WM_KeyDown
261=WM_KeyUp

Ob Das hilft?

Moderiert von user profile iconNarses: Beiträge zusammengefasst

260=WM_SYSKeyDown
261=WM_SYSKeyUp

warum wird also aus WM_KeyDown WM_SYSKeyDown und warum wird aus WM_KeyUp WM_SYSKeyUp

Hat nix mit der F12 taste zu tun wird es auch bei Taste k oder anderen