Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dll- Form als Dialog verwenden (https://www.delphipraxis.net/73296-dll-form-als-dialog-verwenden.html)

Flippo 15. Jul 2006 12:20


Dll- Form als Dialog verwenden
 
Hallo,
ich hab schon wieder ein Problem... ich habe eine Anwendung, die durch Plugins in Form von Dlls erweiterbar ist. Diese Plugins werden vom User dann gestartet und brauchen noch bestimmte Informationen... kein Problem hab ich mir gedacht mit einer Form, in der ich einfach die benötigden Daten abfrage. Nun hab ich aber 3 Probleme:
1.Ich kriege immer einen Fehler:Zugriffsverletzung << Das Problem hat sich erledigt (Form Create hatte ich vergessen :stupid: )

In meiner Dll hab ich einfach eine form hinzugefügt und mache die sichtbar wenn ich damit die Daten abfrage.

Delphi-Quellcode:
function TPlugInChild.GetNeededParams:string;
var Start : Longint;
begin
   Form1:=TForm1.Create(Form1);
   form1.visible:=true; // Hier kommt die Zugriffsverletzung
   Start := GetTickCount;
   repeat
   Sleep(100);
   //application.processmessages;
   until (GetTickCount - Start > 10000) or (unit1.aufgabe<>'Keine'); }
   Result:=unit1.Aufgabe;
end;
2.Problem << hat sich auch mit dem ersten erledigt ich weiss zwar nicht warum aber es funktioniert :-D


3.Meine Schleifenkonstruktion in der ich 10 Sekunden warte oder bis ich den wert hab finde ich auch nicht so elegant, kann man das anders lösen, also kann ich die form evtl. irgendwie so behandeln als wär sie ein Dialog, also das ich die Form in der Funktion aufrufe und es erst weitergeht wenn in der Form was ausgewählt und diese geschlossen wurde?


Hoffe ich konnte meine Gedanken halbwegs klar ausdrücken

MFG

Flippo

andreash 19. Jul 2006 09:28

Re: Dll- Form als Dialog verwenden
 
Hallo,

verwende statt
Delphi-Quellcode:
form1.visible:=true;
lieber
Delphi-Quellcode:
form1.show;
Wenn du statt dessen
Delphi-Quellcode:
form1.showmodal;
verwendest, sollte die Anforderung erfüllt sein, dass du die Programmkontrolle erst wieder erhältst, wenn der Dialog abgeschlossen wurde.

franktron 19. Jul 2006 09:44

Re: Dll- Form als Dialog verwenden
 
Delphi-Quellcode:
Form1:=TForm1.Create(Form1);
also das Klappt nie so ist das richtig
Delphi-Quellcode:
Form1:=TForm1.Create(Nil);


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr.

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