Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Drag&Drop beim zweiten mal auf anderer Form Probleme (https://www.delphipraxis.net/74614-drag-drop-beim-zweiten-mal-auf-anderer-form-probleme.html)

GS1200 6. Aug 2006 13:44


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:
Beispiel als ZIP laden

Schon jetzt einmal ein Danke für die Hilfe. :lol:

Gruß

Axel

GS1200 20. Okt 2006 21:29

Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
 
Gibt es hier denn einen, der mir bei diesem Problem helfen kann?

Gruß

Axel

Sunlight7 20. Okt 2006 21:50

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.

semo 21. Okt 2006 00:25

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

Delphi-Quellcode:
procedure TForm1.Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  with TForm2.create(self) do
    Show;
end;
klappt es....
woran es nun genau scheitert kann ich dri so auf die schnelle aber auch nicht sagen

Sunlight7 21. Okt 2006 00:29

Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
 
Sehr wahrscheinlich, weil Du es nicht mehr freigibst?!

semo 21. Okt 2006 01:12

Re: Drag&Drop beim zweiten mal auf anderer Form Probleme
 
wenn ich es schließe und im close-event ein cafree stehen habe schon

Christian Seehase 21. Okt 2006 02:52

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.

Sunlight7 21. Okt 2006 03:34

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

Zitat von computer-glossar.de
wenn ich es schließe und im close-event ein cafree stehen habe schon

Das konnte man aber nur erraten :mrgreen:

GS1200 21. Okt 2006 07:30

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

semo 21. Okt 2006 15:12

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 22:03 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz