Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Visual C++ DLL in nutzen - Pointer und Array of Double? (https://www.delphipraxis.net/99651-visual-c-dll-nutzen-pointer-und-array-double.html)

SirThornberry 16. Sep 2007 01:44

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
beim dynamichen array wird genau so das @ benötigt. Also es wird in beidne Fällen die Adresse vom Anfang der Daten benötigt was die Adresse des 0ten Ellementes ist.

oki 16. Sep 2007 13:04

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
Hi,

ich dachte immer bei einem dynamischen Array repräsentiert Element[0] einen Zeiger.

Gruß oki

Apollonius 16. Sep 2007 15:23

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
Nein. Element ist ein Zeiger (auf ein statisches Array), und indiziert ist es einfach vom Basisdatentyp.

oki 16. Sep 2007 15:38

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
Zitat:

Zitat von Apollonius
Nein. Element ist ein Zeiger (auf ein statisches Array), und indiziert ist es einfach vom Basisdatentyp.

wir reden aber gerade von einem dynamischen Array und ich hatte da immer ein paar mehr Unterschiede gesehen. Sicher fälschlicherweise.

gruß oki

Apollonius 16. Sep 2007 15:43

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
Ich rede auch vom dynamischen Array. :-D Und ein dynamisches Array ist ein Zeiger auf ein statisches Array.

oki 16. Sep 2007 15:49

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
Hmmm,

Sonntag scheint nicht mein hellster Tag zu sein. Du hast aber recht. Das ist das was man Zeiger auf einen Zeiger nennt, glaub ich.
(ich hab den Eindruck ich glaube hier viel und weis wenig :cry: )

Gruß oki

Apollonius 16. Sep 2007 16:11

Re: Visual C++ DLL in nutzen - Pointer und Array of Double?
 
Nein, das "bezeigerte" Array enthält die Elemente selbst, keine Zeiger darauf.
Hier sind deshalb äquivalente Konstrukte:
Delphi-Quellcode:
procedure dynamisch;
var arr: array of wasauchimmerduwillst;
begin
setlength(arr, 5);
arr[3]:=...;
setlength(arr, 0);
end;

procedure statisch;
type statarray=array[0..high(word) div sizeof(wasimmerduwillst)-1] of wasauchimmerduwillst;
var arr: ^statarray;
begin
getMem(arr, sizeof(wasauchimmerduwillst)*5);
arr[3]:=...;
freeMem(arr);
end;
Einziger Unterschied ist, dass es bei dynamischen Arrays noch Referenzzählung gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 Uhr.
Seite 2 von 2     12   

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