Announcement

Collapse
No announcement yet.

Pointer Probleme

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Pointer Probleme

    Ich habe ein Pointer dem Speicherplatz zugewiesen wurde.

    Num1 : Integer ;
    MyBuffer : ^Byte ;
    Getmem(MyBuffer,1000) ;

    Jetzt wuerde ich gerne den Pointer "Dereferencen" wie gehe ich das an. Ich habe volgendes Versuch und es funktioniert nicht.

    For Num1 := 1 To 1000 Do
    Begin
    Byte(Pointer(MyBuffer + Num1))
    //Byte casting(Genereller pointer cast(Basis addresse + um wieviele stelen der pointer vershoben werden soll))
    End ;

    Wie koennte ich einen Byte pointer gebrachen als ob er ein byte array is ?

  • #2
    Hallo,

    warum machst du es nicht so:

    <PRE>
    var MyBuffer :array [0..999] of byte;
    Num1 :integer;
    begin
    for Num1 := 0 to 999 do
    begin
    // so kannst du z.B. Initialisieren
    MyBuffer[Num1] := byte(0);
    end;
    end;
    </PRE&gt

    Comment


    • #3
      Probier's doch mal so:
      <pre>
      <code><font size=2 face="Courier New"><font color="#000000"><b>type
      </b>TByteArray = <b>array</b>[<font color="#0000FF">0</font>..pred(High(Longint) <b>div </b>SizeOf(Byte))] <b>of </b>Byte; <font color="#008000"><i>// Gr&ouml;&szlig;er geht's net ;-)
      </i></font>PByteArray = ^TByteArray;
      <b>var
      </b>i: Integer;
      MyBuffer: PByteArray;
      <b>begin
      </b>GetMem(MyBuffer, <font color="#0000FF">1000</font>);
      <b>for </b>i := <font color="#0000FF">0 </font><b>to </b><font color="#0000FF">999 </font><b>do
      </b>MyBuffer^[i] := <font color="#0000FF">1</font>;
      </font>
      </code></pre>
      HTH, Uli

      Comment

      Working...
      X