Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Drag&Drop beim zweiten mal auf anderer Form Probleme

  Alt 21. Okt 2006, 22:10
Hallo,

dieser Beitrag von shubbi brachte mich auf eine andere Idee. Da offensichtlich die Nachrichtenverarbeitung durch die geschachtelten Drag&Drop-Operationen gestört wird, sollte das modale Fenster erst dann geöffnet werden, wenn die erste Drag&Drop-Operation beendet ist. Die Anwendung schickt sich dazu selbst eine Nachricht (mit PostMessage!) und öffnet das Fenster erst beim Eintreffen dieser Nachricht:

Delphi-Quellcode:
const
  WM_ShowSecondForm = WM_USER + 1;

type
  TForm1 = class (TForm)
    :
  private
    procedure WMShowSecondForm (var aMessage: TMessage);
      message WM_ShowSecondForm;
  end;
  
procedure TForm1.WMShowSecondForm (var aMessage: TMessage);
var
  Form : TForm2;
begin
  Form := TForm2.create(nil);
  Form.ShowModal;
  Form.Release;
end;

procedure TForm1.Image1DragDrop (Sender, Source: TObject; X, Y: Integer);
begin
  PostMessage (Handle, WM_ShowSecondForm, 0, 0);
end;
Dieses Vorgehen scheint den Fehler zu beheben.

Gruß Hawkeye
  Mit Zitat antworten Zitat