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.