Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Array als Pointer übergeben

  Alt 28. Okt 2015, 11:54
Hi,

ich will mal was versuchen. Weniger, weil es Sinn macht, sondern nur zu meinem Verständnis. Versucht habe ich das schon, ab hinbekommen habe ich es nicht.

Ich möchte gerne mal ein Array in eine Pointer wandeln und hinterher wieder zurück.

In der ersten Unit:
Delphi-Quellcode:
uses Unit2;

interface

Type
  TMyArray: Array [0..9] of Integer;
.
.
  Type TForm1 = class(TForm)
  .
  .
  private
    MyArray: TMyArray;
  .
  .
  end;

implementation

procedure TForm1.ErzeugeArray;
begin
  for i:=0 to 9 do
    MyArray[i]:=i;
  TesteArray(@MyArray);
end;
und in Unit2:

Delphi-Quellcode:
Type
  TIntArray: array of Intger;

procedure TesteArray(p: Pointer);
begin
  for i:=0 to length(TIntArray(p))-1 do
    TuIrgendwasmit(TIntArray(p)[i]);
end;
So, das wird so sicherlich nicht funktionieren. Aber wie wäre es richtig und warum. Ich hab mich nun durch so einige Beispiele und Tutorials durch gelesen, aber ich raff das einfach nicht.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat