AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Interfaces über Modulgrenzen implementieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interfaces über Modulgrenzen implementieren

Ein Thema von DGL-luke · begonnen am 8. Sep 2007 · letzter Beitrag vom 8. Sep 2007
Antwort Antwort
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 10:59
Hallo,

ich schreibe gerade eine größere Anwendung mit umfangreichem Plugin-System. Ich wüsse jetzt gern, ob ich über die Modulgrenzen, d.h. innerhalb einer DLL, ein Plugin implementieren und das ans Hauptmodul liefern kann.

Also z.B. so:

Delphi-Quellcode:
type
  IMyInterface = interface
    function MyFUnction: string;
  end;
Delphi-Quellcode:
//DLL-Code
type
  TMyPlugin = class(TInterfacedObject, IMyInterface)
    function MyFunction: string;
  end;

function GetPlugin: IMyInterface; stdcall; export;
begin
  Result := MyPlugin;
end;
Delphi-Quellcode:
//EXE-Code
modh := loadlibrary('myplugin.dll');
GetPlugInProc := GetProcAddress(modh, 'GetPlugIn');
PluginIntf := GetPluginProc;

Showmessage(PluginIntf.MyFunction);
Gibts da irgendwelche Hindernisse?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#2

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:01
Musst halt mit den Strings aufpassen, entweder nur PCHar benutzen oder diese eine komische Unit einbinden (Name entfallen :/)
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:03
Ja, SharedMem ^^
Aber da schlägt ja wieder der Borland-MM zu. Das will ich eigentlich verhindern (Hab dazu schon n Thread aufgemacht )
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#4

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:06
Dann nim doch den Type WideString imho kann man dem Benutzen
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:09
Zitat von DGL-luke:
Ja, SharedMem ^^
Aber da schlägt ja wieder der Borland-MM zu. Das will ich eigentlich verhindern (Hab dazu schon n Thread aufgemacht )
ShareMem oder FastMM wären eine Möglichkeit. Aber wesentlich besser sind WideStrings.
Nicht nur weil sie nicht Delphi-spezifisch sind, sondern wohl auch weil im Jahre 2007 AnsiStrings einfach nur noch jämmerlich yestercentury sind.
Solange du irgendwelche dinge darin packst, die keinerlei regionalen Kontext haben, mag das noch Sinn machen AnsiStrings zu nehmen, aber warum sollte man einem Russen, Koreaner, Japaner, Franzosen, [irgendeine Sprache != deiner eigenen] aufzwingen, in für ihn komisch aussehenden Zeichen zu tippen?
Unicode ist also im Zweifelsfall sowieso vorzuziehen, auch wenn es nur das uralte UCS2 vom WideString ist.
Robert Giesecke
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:34
Widestrings beinhalten also weniger Compiler-Magic und laufen deswegen über Modulgrenzen?

Bitte sag mir doch mehr, und nicht immer nur so kleine Häppchen
(Du willst mir nicht zufällig n Buch andrehen? )

EDIT: Widestrings wären mir natürlich auch recht. Ich würd halt dann, bis das Programm komplett auf Unicode umgestellt wird (was im Moment NICHT geplant ist, vielleicht mit der Delphi-Version, die ne Unicode-VCL mitbringt) das aktuelle Codepage-ASCII reinpacken...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:47
Zitat von DGL-luke:
Widestrings beinhalten also weniger Compiler-Magic und laufen deswegen über Modulgrenzen?
WideString ist ein BSTR, also ein Typ, den Windows selbst kennt.
Es ist auch der String, den man in COM benutzt (weshalb er in delphi gerne OleString genannt wird).

Zitat:
Bitte sag mir doch mehr, und nicht immer nur so kleine Häppchen
Kleine Häppchen und diffus eingestreute Zusatzinfos machen aber mehr Spass.
Zitat:
(Du willst mir nicht zufällig n Buch andrehen? )
Ich halte nichts von Büchern. Fachbücher sind was für Faulenzer und Bergaufbremser.

Zitat:
EDIT: Widestrings wären mir natürlich auch recht. Ich würd halt dann, bis das Programm komplett auf Unicode umgestellt wird (was im Moment NICHT geplant ist, vielleicht mit der Delphi-Version, die ne Unicode-VCL mitbringt) das aktuelle Codepage-ASCII reinpacken.
Damit wäre wenigstens deine öffentliche API für die PlugIns stabil, auch wenn du in der App erst dann Unicode haben wirst, bis du entweder auf Delphi2063 wartest, oder TNT benutzt.
Robert Giesecke
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Interfaces über Modulgrenzen implementieren

  Alt 8. Sep 2007, 11:49
Okay, cool, dann bitte nur noch den anderen Thread beantworten
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  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 22:54 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