Einzelnen Beitrag anzeigen

Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#14

Re: Pointer auf Array of record

  Alt 26. Okt 2004, 11:54
Das Problem ist nicht der Record ansich, sondern die Strings dadrin. Diese werden genau wie dynamische Arrays behandelt und somit hast du die gleichen Probleme.

Hier noch was um C++ artige Arrays zu verwenden:

Delphi-Quellcode:
type
  PStaticArray = ^TStaticArray;
  TStaticArray = Array[0..high(Integer)] of Integer;
Wenn du jetzt in der DLL einen Pointer vom Type PStaticArray übergibst, sollte es normal funktionieren:

Delphi-Quellcode:
procedure Test(DynArray: PStaticArray);
begin
  DynArray^[0] ...
end;
P.S: Natürlich darfst du keine Variable vom Typ TStaticArray anlegen, da dann der Arbeitsspeicher voll ist.

Jetzt bekommst du nur noch Probleme mit den Strings, aber wenn die in Fortran genauso gehandt werden wie in C++, dann versuche doch einfach mal im record statt String PChar.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat