AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer kann nicht freigegeben werden?

Ein Thema von Nuclear-Ping · begonnen am 4. Apr 2007 · letzter Beitrag vom 7. Apr 2007
 
grenzgaenger
(Gast)

n/a Beiträge
 
#6

Re: Pointer kann nicht freigegeben werden?

  Alt 7. Apr 2007, 08:33
Zitat von Nuclear-Ping:
Ok, alles klar.
Delphi-Quellcode:
{...}

  GetMem (qBuffer, ReqBytes);
  qAddr := Integer (qBuffer);

  {...}
  finally
    qBuffer := Pointer (qAddr);
    FreeMem (qBuffer);
  end;
Das funktioniert nun. Danke, dass du mich mit der Nase draufgedrückt hast.
komm, das da oben vergiss mal. das macht keinen sinn. vielmehr interessiert was du hier machst:
Delphi-Quellcode:
    for a := 0 to rd - 1 do
      begin
        BitArr := ByteToBitArr (qBuffer^);
        inc (qBuffer);
sollte das nicht inc(qBuffer^) heissen? sonst kannst du ja nix incrementieren. die addy ist tabu.

wenn du jedoch das ganze durchlaufen möchtest, kannst dir ja 'n pointer schaffen und es durchlaffen, geht in etwa so:
Delphi-Quellcode:
var p: pointer;
begin ....
 p := @qBuffer;
 for ...
  bittarr := bytetobitarr(byte(p^));
  inc(p);
damit wäre p deine laufvariable, in deinem reservierten speicherbereich, der über getmen an qBuffer zugewiesen wurde. qbuffer bleibt unverändert und du durchläufst nur den reservierten speicher, mit p. musst aber selbst dafür sorgen, dass du nicht über die grenzen hinausliesst. ganze ist ungetestet sollte aber so, plus/minus ein, zwei kleinigkeiten funktionieren. ausserdem kannst du mal unter den stichwort pointerarithmetik gucken ob du zusätzliches findest...

<HTH>
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz