Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pointer vergleichen (https://www.delphipraxis.net/65873-pointer-vergleichen.html)

Flips 21. Mär 2006 17:41


Pointer vergleichen
 
Hi.

Habe folgendes Problem. Hier erst mal ein Codeschnipsel zur Übersicht:
Delphi-Quellcode:
type
  PRGBTripleArray = ^TRGBTripleArray;
  TRGBTripleArray = array [0..50000000] of TRGBTriple;

[...]

var x:integer;
    P1,P2:PRGBTripleArray;

for x := 0 to Image1.Height -1 do
  begin
    P1 := Image1.ScanLine[x];
    P2 := Image2.ScanLine[x];
   [...]
  end;
Also, ich möchte zwei Pointer vergleichen. Habe gedacht ich mache es über
Delphi-Quellcode:
if P1 <> P2 then
  [...]
aber das klappt nicht (selbst wenn sie nicht unterschiedlich sind ist es true. Vielleicht liegt das ja auch an meiner Art und Weise, wenn ja dann bitte ich um Hilfe :pale:

Als zweite Möglichkeit dachte ich mir die CompareMem Funktion, aber hier weiß ich nicht genau was ich als 3. Parameter angeben muss. Dachte eigentlich sowas wie
Delphi-Quellcode:
sizeOf(P1);
Aber dem war nicht so...Denn wenn man sich die Größe ausgeben lässt dann kommt 4 heraus. Und das Array ist wohl deutlich größer als 4... :(

Also, wie vergleiche ich die Pointer richtig? :gruebel:

Enjoy, Flips

Thorben77 21. Mär 2006 18:02

Re: Pointer vergleichen
 
'Ne Verständnisfrage:
Wilst Du vergleichen, ob die Zeiger auf das selbe Array zeigen, oder ob die Arrays auf die sie zeigen die gleichen Werte enthalten?

Flips 21. Mär 2006 18:06

Re: Pointer vergleichen
 
Hi.
Ob die Arrays die gleichen Werte enthalten.
Bin heute nicht mehr da, aber bitte trotzdem um Antwort(en) :)

brechi 21. Mär 2006 18:16

Re: Pointer vergleichen
 
Musst du eine weitere schleife nehmen oder

CompareMem(p1,p2,Image1.Canvas.Width*SizeOf(TRGBTr iple))

Flips 22. Mär 2006 15:08

Re: Pointer vergleichen
 
Genial. wäre ich nie drauf gekommen. DANKE :bounce1: :dancer2: :dancer:
(Hast gerade eine Jufo-Arbeit unterstützt :wink: )
:thumb: :thumb: :thumb: :thumb:
:dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz