Einzelnen Beitrag anzeigen

Elvis

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

Re: Objekt in DLL - kann das funktionieren?

  Alt 29. Mai 2007, 12:28
Zitat von Bernhard Geyer:
Alles andere wird sehr viel Kopfschmerzen (und Abstürze) verursachen.
Wenn wir Interface-referenzen ebenfalls als Objekte bezeichnen, dann gibt es zumindest eine weitere Option, die Compiler- und sprachunabhängig ist.

@Luke

Mal so aus den Fingern gesaugt...
Die Unit sollte nur die Interfaces enthalten. Dadurch kann sie in Echse und DLL benutzt werden.
Delphi-Quellcode:
type
  IImage = interface
  ['....']
    // hier die benötigten properties
  end;

  IImageList = interface
  ['....']
    function get_Item : IImage; stdcall;
    procedure set_Item(const aValue : IImage); stdcall;

    property Item[aIndex : Integer] : IImage
      read get_Item
      write set_Item; default;

    function Add(const aItem : IImage) : Integer; stdcall;
    function AddNew : IIMage; stdcall;
    ...
  end;
Nun müsstest du nur noch das hier exportieren:
Delphi-Quellcode:
procedure SetFormImages(const aFormImages : IImageList); stdcall;
var
  image : IImage;
begin
    image := aFormImages.AddNew();
    image.Top := 0;
    image.Left := 0;
    image.Height := 308;
    image.Width := 482;
    image.SendToBack();
    image.Show();
    image.Stretch := False;
end;
Da kann man sogar länger hingucken, ohne dass einem schlecht wird.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat