![]() |
Drag&Drop beim zweiten mal auf anderer Form Probleme
Hallo Leute,
Warum gibt es hier eine Schutzverletzung? Ich habe zwei Formulare. Auf dem ersten kann ich mittels Drag&Drop ein anderes Formular öffnen. Dort wiederrum kann ich erneut eine Aktion via Drag&Drop machen. Wenn ich nun das zweite Fenster schließe, kommt es zu einer Schutzverletzung. Ich finde den Fehler nicht. :wall: Öffne ich das zweite Fenster nicht via Drag&Drop sondern einfach mit einem Doppelklick, dann kann ich dort die Drag&Drap Aktion durchführen und auch das Fenster sauber schließen. :gruebel: Hat jemand eine Idee? Der Code läßt sich schlecht erklären, daher hier ein Beispiel: ![]() Schon jetzt einmal ein Danke für die Hilfe. :lol: Gruß Axel |
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
Gibt es hier denn einen, der mir bei diesem Problem helfen kann?
Gruß Axel |
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
Nachdem ich Deinen Code probiert habe:
Es kommt keine AV :gruebel: Ich hab nur FreeAndNil durch Form2.Free ersetzt, weil meine Delphi FreeAndNil nicht kennt. |
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
also mit
Delphi-Quellcode:
klappt es....
procedure TForm1.Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin with TForm2.create(self) do Show; end; woran es nun genau scheitert kann ich dri so auf die schnelle aber auch nicht sagen |
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
Sehr wahrscheinlich, weil Du es nicht mehr freigibst?!
|
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
wenn ich es schließe und im close-event ein cafree stehen habe schon
|
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
Moin Axel,
wie Marcus ja schon geschrieben hat, tritt das Problem bei Show nicht auf. Es spielt auch keine Rolle, ob das Formular dynamisch oder beim Programmstart erzeugt wird. In D7 und D2006 konnte ich das reproduzieren, wobei ich es in D7 auch mal mit den Debug DCUs probiert habe: Mir scheint das ein Fehler in der VCL zu sein. Ruft man Form2 mit Show auf, so wird das zum ersten Droppen gehörige DragDone (Prozedur in der Unit Controls) aufgerufen, bevor das Formular angezeigt wird. Dann kann man die DragDrop-Operation auf Form2 ausführen, wobei wiederum DragDone aufgerufen wird. Öffnet man das Formular hingegen mit ShowModal, so wird DragDone das erste Mal aufgerufen, wenn man das Message-Fenster schliesst, und das zweite mal, wenn man Form2 schliesst. Zu diesem Zeitpunkt passen dann aber die Daten nicht mehr => Fehler. |
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
Zitat:
|
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
Danke für die Antworten, nun weiß ich zumindest wie es klappen kann. Bedeutet es also, das ich ein Modales Fenster nicht mit Drag&Drop als Folge einer einer Drag&Drop Aktion öffnen kann? Ich arbeite an dieser Stelle in meiner Applikation nur mit Modalen Fenster, damit der Anwender stets nur ein Fenster zur Bearbeitung öffnet.
Gruß Axel |
Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
es muss doch auch mit modalen fenstern gehen,
fakt ist doch dass es beim schließen des forms knallt. es gilt also herauszufinden woran das liegt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz