Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#12

AW: Stream an DLL übergeben

  Alt 9. Jul 2015, 07:19
Ich habe zwei Fragen:
1. Wo ist im Code 'xm' deklariert?
2. Wo ist das Problem, ein Objekt an eine DLL zu übergeben? Letztendlich ist das nur ein Pointer. Solange ich das Objekt in der DLL nicht freigebe, ist die Welt in Ordnung. Gut, ich muss wissen, wie das Objekt intern aufgebaut ist, aber das kriegt man ja noch hin.

Problematisch könnte es sein, in einer DLL ein Objekt zu erzeugen und das dann als Rückgabewert an den Aufrufer zu liefern. Dafür würde ich (korrigiert mich) eine BPL nehmen.

Ich würde einfach mal versuchen, die Stream-Instanz im Aufrufer zu erzeugen, der DLL zu übergeben und diese dann den Stream füllen zu lassen. Allerdings ist die DLL dann auch wieder komplett an Delphi als Aufrufer gebunden (und rein theoretisch sogar an genau diese Version inkl. Update).

Daher der etwas unglücklich formulierte Rat von Sir Rufo, nur mit Basistypen zu arbeiten. Deine DLL könnte z.B. nur mit Byte-Arrays hantieren: Du übergibst also die Länge des Arrays (als Integer) und die Bytes an sich als Pointer. Damit kann jeder etwas anfangen.
  Mit Zitat antworten Zitat