Einzelnen Beitrag anzeigen

CarlAshnikov

Registriert seit: 18. Feb 2011
Ort: Erfurt
108 Beiträge
 
Delphi XE5 Enterprise
 
#3

AW: LabView DLL in Delphi / Datentypen

  Alt 15. Dez 2011, 11:16
Das hört sich plausibel an, da der ja ein Pointer auf ein Array von 16 bit Werten haben will.
Delphi-Quellcode:
var
  Pixels: TMemoryStream
...
result := RB_I16_image_save(FileName, FileFormat, DimX, DimY, Pixels.Memory, PixelCount);
Tuts leider auch nicht. Der Stream war auch nur eine Möglichkeit die ich probiert habe. Hatte eigentlich vor ein Array of SmallInt bzw. einen Pointer darauf zu übergeben, wobei ich der Meinung war, dass Arrays an sich schon Pointer sind. Vielleicht verwechsle ich das auch mit C.

Hat denn so ein MemoryStream die gleiche Struktur wie der erwartete int16_t array?
Das schreibe ich momentan in meine Variablen:
Delphi-Quellcode:
var
  i: SmallInt;
  Name: PChar;
  Format: Byte;
  DimX,DimY: LongWord;
  Pixels: TMemoryStream;
  PixelCount: LongInt;
begin
  Name := PChar(ExtractFilePath(ParamStr(0))+'Test.png');
  Format := 0;
  Dimx := 64;
  Dimy := 64;
  PixelCount := DimX*DimY;

  Pixels := TMemoryStream.create;
  for i := 0 to PixelCount-1 do
    Pixels.Write(i,SizeOf(i));
end;
Sebastian
  Mit Zitat antworten Zitat