AGB  ·  Datenschutz  ·  Impressum  







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

Action in DLL funktioniert nicht

Ein Thema von Ralf Meyer · begonnen am 31. Aug 2010 · letzter Beitrag vom 1. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Ralf Meyer

Registriert seit: 24. Mär 2008
36 Beiträge
 
#1

Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:06
Delphi-Version: 2005
Hi,

ich habe ein Formular erstellt, welches in einer DLL liegt und vom Hauptprogramm aus aufgerufen wird.

Die Actions auf dem Formular (aus der DLL) werden nicht aufgerufen.

Kann mir jemand sagen, wie ich trotzdem Actions verwenden kann?

Gruß
Ralf
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:09
Man kannst keine Objekte im Interface einer Dll verwenden. Callbacks sollten aber funktionieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Ralf Meyer

Registriert seit: 24. Mär 2008
36 Beiträge
 
#3

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:24
Hi mkinzler,

schreibst du mit Dialekt? Ich verstehe nicht gerade ob deine Antwort eine Feststellung oder eine Frage ist.

Möglichkeit A (Übersetzt) Mann, du kannst doch keine Objekte im Interface einer DLL verwenden!
Möglichkeit B (Übersetzt) Mann, kannste keine Objekte im Interface einer DLL verwenden?

Davon ab, Callbacks helfen mir nicht. Die funktionalität von mehr als 50 Acitons kann ich nicht von Hand nachbilden.

Dank dir,

Gruß
Ralf
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:28
Ich habe du durc man ersetzt und vergessen, dass kannst durch kann zu ersetzen.

Dann bleibt dir nur die Verwendung von Bpls statt Dlls
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#5

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:31
DLLs und die EXE haben ihre eigenen RTTIs und darum kann man Objekte nicht (gut) Sharen.
Und zusätzlich spielt dir auch noch der Speichermanager einen Streich, welcher auch standardmäßig nicht zuläßt, daß man so einfach Speicherbereiche shared.
(Stichwort: SharedMemoryManager)

Sowas wird ständig im Forum erwähnt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Ralf Meyer

Registriert seit: 24. Mär 2008
36 Beiträge
 
#6

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:47
Sorry mkinzler, bin manchmal schwer von Begriff.

Das mit dem austauschen des Speichers ist schon klar, und auch nicht das Problem, da das Formular der DLL keine Daten zurück gibt.

Eine .bpl habe ich noch nie erstellt und angebunden.
Ich würde dann doch eher eine Exe erstellen und die Daten per IPC übertragen das ist für mich am einfachsten.

Gruß
Ralf
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#7

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:54
Ich hab zwar auch noch nie mit BPLs gearbeitet,

aber BPLs sind auch "nur" DLLs, welche aber gegen die genau gleichen gemeinsamen "Codes" gelinkt wurden, welche mit der EXE geschared werden.
Außerdem wird der Speichermanager gleich mit geschared.

Da nun in der EXE und der DLL sie gleiche RTTI und der selbe Speichermanager arbeiten, kann man (fast) alles machen, was man auch sonst so (innerhalb der EXE) machen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 17:56
Bpls erlauben auch Objekte im Interface.
Einfach statt Libary ein Package erstellen
Markus Kinzler
  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
 
#9

AW: Action in DLL funktioniert nicht

  Alt 31. Aug 2010, 18:44
Wenn Du Dein Projekt und Deine DLL mit LaufzeitPackages kompilierst kannst Du Deine DLL's zuladen und fast alles funktioniert wie gewohnt, allerdings muß Du die BPL's dann mit distibuieren.
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
Ralf Meyer

Registriert seit: 24. Mär 2008
36 Beiträge
 
#10

AW: Action in DLL funktioniert nicht

  Alt 1. Sep 2010, 09:28
Dank Euch alle...

ist das ein sch... . Nachdem ich jetzt die Hürden genommen habe und eine BPL erstellt, Komponenten registriet, Packages Dynamisch laden kann kommt jetzt in meinem Testeprojekt der Hinweis:
"Die Packages Jcl und wHelp enthalten beide die Unit JclStrHashMap".

Ja welch wunder - Jcl wird verwendet und JclStrHashMap in irgendeiner Unterunit auch.

Jcl steht bei mir unter den requires Packages und wird auch gebraucht.

Ich muss doch gleiche Typen aus zwei Packages heraus aufrufen können - das ist doch häufig der Fall (Wenn man Code wiederverwendet.)

Gruß
Ralf
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:38 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