Die WinAPI übergibt bei sowas im allgemeinen die Anzahl der Elemente sowie einen Zeiger auf das erste Element. Von da aus kann man ja alle anderen ausrechnen (bzw. Einen PArray-Typ. Siehe PByteArray, PWordArray etc.)
maxda hat folgendes geschrieben : |
| Und kann es mit den Arrays zu Problemen kommen, wenn ich die DLL in einer anderen Programmiersprache benutze, weil diese andere Programmiersprache die Arrays anderst speichert, oder werden die eigentlich immer gleich gespeichert? |
Das wird dein geringstes Problem sein. Als Stichworte möchte ich mal Aufrufkonventionen, Strings und Export-Namen einwerfen.
Grade letztere können interessant wertden, weil C-Compiler gern noch Informationen über die Parameter an den Namen dran hängen. Zu Strings steht in dem Kommentar was, den der DLL-Experte erstellt, zusammengefasst: "don't."
Aufrufkonventionen und die Implikationen gibts in der Delphi-Hilfe recht gut beschrieben.
Da fällt mir ein: wie Records kann/muss man hier Arrays als
packed deklarieren, wenn man keine Überraschungen erleben will.
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."