Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: [BUG?] MainMenu reagiert nichtmehr

  Alt 11. Nov 2005, 07:28
Hier ein Beispielquellcode:

Also ich habe einen Thread:

Delphi-Quellcode:
TMyThread = class(TThread)
 private
  FOpenTime : TDateTime;
  procedure OpenForm2;
 protected
  procedure Execute;override;
 public
  constructor Create;
 end;
 
constructor TMyThread.Create;
begin
 inherited Create(False);
end;

 
procedure TMyThread.Execute;
begin
while not Terminated do
 begin
 sleep(10);
 if Now > FOpenTime then
  Synchronize(OpenForm2);
 end;
end;

 
procedure TMyThread.OpenForm2;
begin
with TForm2.Create(Application) do
 begin
 try
  ShowModal;
 finally
  Free;
  end;
 end;
end;


Ist nur ein Beispiel, kann jeder ausprobieren. Kann aber Fehler enthalten, da ich das nur schnell hingekritzelt habe.

Das Ganze bewirkt eine Erinnerungsfunktion.
Auf Form1 und auf Form2 sind jeweils MainMenus.
Wenn ich jetzt eben im MainMenu von Form1 aktiv bin und währenddessen durch den Thread meine Form2 aufgerufen wird, dann ist das MainMenu auf Form 2 inaktiv.

Allerdings hängt das nicht mit dem Thread zusammen!

Wenn ich auf Form1 einen Timer habe:

Delphi-Quellcode:
procedure TForm1.TimerTimer(Sender : TObject);
begin
if Now > FOpenTime then
 with TForm2.Create(Application) do
  begin
  try
   ShowModal;
  finally
   Free;
   end;
  end;
end;
Hier passiert genau das gleiche.

Ausserdem passiert sowas ähnliches:

Wenn ich Form1 verschiebe (Titelleiste mit Maus) und währenddessen die Form2 aufgerufen wird, dann kann ich Form2 nicht über die TitelLeiste verschieben.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat