AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strings in DLL (keine Übergabe)

Ein Thema von tofse · begonnen am 21. Dez 2011 · letzter Beitrag vom 22. Dez 2011
Antwort Antwort
tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#1

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 06:32
Danke für die ausführliche Antwort. Jetzt ist einiges klarer
DLL und EXE sind im Grunde erstmal beises ganz normale Executables.

Alles was du innerhalb der EXE machen kannst, kannst du auch innerhalb der DLL machen.


OK, mit der VCL muß man aufpassen, denn die DLL wird ja im Thread der EXE geladen, würde somit auch im Thread der EXE starten.
Aber wenn man 2 "getrennte" VCLs im selben Thread laufen läßt, dann kommen sie sich schnell in die Quere und Probleme sind vorprogrammiert.
PS: Die VCL arbeitet über Messages und wenn bei VCLs im selben Threadcontext arbeiten, landen unweigerlich Messages in der "falschen" Messageloop der anderen VCL-Instanz und damit würde die falsche Instanz nun die Messages verarbeiten.


Solange aber Strings und Objekte nicht die Grenze zwischen DLL und EXE über queren, gibt es keinerlei Probleme.
Man kann den String problemlos in einen PChar casten und bergeben ... in diesem Fall wird die Speicherverwaltung übergangen und somit kommt nicht der falsche Speichermanager, bzw. die String-Speicherwaltung, nicht mit einem ihr nicht gehörenden Sring in Berührung.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 06:44
Hi,

@Himitsu: D.h. Wenn ich in der Exe eine VCL-basierte GUI benutze und in der DLL ebenfalls, dann bekomme ich dadurch Probleme beim Ausführen?
Hast du dazu noch weitere Infos/Links?

Gruß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 06:56
@angos


versuch es einfach mal, ein Formular in der DLL mit ein paar Komponenten, üblicherweise kommt beim Laden schon die Meldung das bestimmte Klassen bereits registriert sind.
Wenn Du so etwas machen möchtest musst Du beide (DLL,EXE) mit Laufzeitpackages erzeugen ....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 07:12
versuch es einfach mal, ein Formular in der DLL mit ein paar Komponenten, üblicherweise kommt beim Laden schon die Meldung das bestimmte Klassen bereits registriert sind.
Dann bekommen wir seit 10 Jahren für unsere Hauptanwendung mit Pluginkonzept genau diese übliche Fehlermeldung nicht
Solange du keine lebende Objekte zwischen Exe und Dll tauschen willst ist das keine Problem.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 08:05
Also dass man kein VCL Formular in eine DLL packen sollte, ist mir auch neu. Es gibt unzählige DLLs die Formulare beinhalten. Wie Bernhard schon gesagt hat, sind Plugin DLLs solche Kandidaten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 08:39
Hallo,

Luckies und Bernhards Erfahrungen decken sich mit den meinen. Ich habe damit bis jetzt auch kein Problem gehabt und nutzen dieses Vorgehen eigentlich durchgehend.
Das beruhigt mich zumindest etwas.
Trotzdem hätte ich gerne gewusst, wir ihr darauf kommt, dass das problematisch ist.


Gruß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 08:46
Mal eben schnell zusammengetippt: FormInDLL.zip

Hier noch mal, zum gleich angucken: http://michael-puff.de/Programmierun...ormInDLL.shtml
Angehängte Dateien
Dateityp: zip FormInDLL.zip (395,9 KB, 4x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (22. Dez 2011 um 09:28 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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