Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - DLL und Frame, bekomme fehler bei popupmenu. Hilfe


CenBells - Do 19.06.03 23:14
Titel: DLL und Frame, bekomme fehler bei popupmenu. Hilfe
HAllo Leute,

ich habe mir eine DLL gestrickt, in der ich einen Frame habe, den ich in meiner anwendung anzeigen will. Das geht soweit auch schon, allerdings habe ich das problem, daß ich die Fehlermeldung
Zitat:
Listview besitzt kein übergeordnetes Fenster

erhalte, wenn ich in den frame mit rechts klicke, genauer gesagt auf das listview, das dort drinnen liegt. Dann sollte ja eigentlich das popupmenu aufgehen, das geschieht aber nicht, weiß irgend wer, woran das liegt?

Ich habe dem Frame auch schon einen parent zugewiesen, sonst würde es schließlich nicht angezeigt werden können...

Gruß
Ken


Klabautermann - Fr 20.06.03 10:26

Hallo,

DLLs sind für solche zwecke äußerst ungünstig. Sie sind eigentlich nicht dafür ausgelegt, mit ihr Objekte auszutauschen sondern nur proceduren und funktionen auszutauschen.
Du solltest BPLs oder COM-Objekte bevorzugen.

Gruß
Klabautermann


CenBells - Fr 20.06.03 10:34

hallo,

danke für die hinweise. Dennoch, ich tausche keine Objekte aus, sondern liefer mir nur ein interface zurück. In diesem Interface, habe ich halt prozeduren deklariert, die man aufrufen kann und die greifen auf das frame in der dll zu. Soweit wie ich das bisher verstanden habe, sollte das doch kein problem darstellen, oder?

Gruß
Ken


Klabautermann - Fr 20.06.03 10:56

Hallo,

das Frame selbst ist ein Objekt, wenn du es in deine Hauptanwendung (also in einem Formular das zur EXE gehört) einbetten willst, dann ist dies das, wass ich mit "Objekt tauschen" meine. Denn deine EXE muss ja an das Objekt (von tFrame) rankommen. Sowas wurde bei der Entwicklung des DLL Standarts nie bedacht.

Gruß
Klabautermann


CenBells - Fr 20.06.03 11:59

muss ich an das objekt wirklich rankommen? Ich dachte, wenn ich alles über das interface abwickel, klappt das auch. Aber vielleicht hast du recht, ich mein, schließlich müssen die nachrichten von windows da auch hingegeben werden können..

Und was ist mit diesem DLL+ konzept? Ich mein, dann muss ich zwar auch die BorlandMemoryManager Dll übergeben, aber das müsste dann doch gehen, oder?

Gruß
Ken


Klabautermann - Fr 20.06.03 14:37

Hallo,

DLL+ sagt mir nichts (oder ich kenne es nur unter anderer bezeichnung), aber ich weiß nicht ob der BorlandMemoryManager ausreicht. Außer diesem Artikel [http://community.borland.com/article/0,1410,27758,00.html] habe ich nocht keinen hinweis drauf gefunden, das jemand soetwas erfolgreich mit DLLs geschafft hat.
Und auch der Autor rührt da die Werbetrommel für Packages (*.BPL) da sich der Aufwand mit den DLLs nicht lohne.

Gruß
Klabautermann


CenBells - Fr 20.06.03 16:37

das problem bei bpls ist aber, daß man nen haufen runtime librarys mit ausliefern muss, und das will ich nicht... ;\

Gruß
Ken