Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#2

Re: procedur in dll um Parameter erweitern?

  Alt 28. Jun 2006, 22:41
Und warum machst du es nicht wie es eben üblich wäre?

Delphi-Quellcode:
// "Neue" Funktion ("alte" kopiert und neue Parameter angefügt)
procedure TestEx(prm1, prm2, prm3: Pchar; prm4, prm5: Boolean); stdcall;
begin
...
end;

// "Alte" Funktion (ruft die "neue" mit den vorgegebenen hinzugekommenen Parametern auf)
procedure Test(prm1, prm2, prm3: Pchar); stdcall;
begin
  procedure TestEx(prm1, prm2, prm3, False, True);
end;

exports
  Test,
  TestEx;

begin
end.
So bleibst du kompatibel und kannst neue Funktionalität hinzufügen.

Sinnvoller wäre es allerdings, wenn du den Pointer zu einer Struktur als einzigen Parameter hättest und das erste Member dieser Struktur die Größe wäre. So könntest du je nach Größe der Struktur unterscheiden welche "Version" deiner Funktion der Aufrufer gerade aufrufen will. Wenn du das nicht machst, mußt du immer wieder "Ex" an den Namen anfügen oder deine Funktionsversionen durchnummerieren.

Nach einer Weile könnte das etwas unübersichtlich werden
  Mit Zitat antworten Zitat