AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Verständnisfrage offene Arrays, move und setlength
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisfrage offene Arrays, move und setlength

Ein Thema von kmma · begonnen am 6. Apr 2023 · letzter Beitrag vom 8. Apr 2023
 
kmma

Registriert seit: 26. Jul 2010
16 Beiträge
 
Delphi 2 Desktop
 
#9

AW: Verständnisfrage offene Arrays, move und setlength

  Alt 7. Apr 2023, 21:37
Und genau sowas macht man eben nicht, vor allem nicht bei gemangeten Typen, welche intern auch noch auf Pointer basieren.
...

Und bei der einem Objekt (TStringList) hilft das alles sowieso nicht, da dort nichts managed ist.
Ich glaube Du hast noch nicht verstanden, was ich eigentlich will. Ich will mit der Stringlist überhaupt nichts anfangen. Die will ich ganz sauber von Hand abarbeiten und in ein Array die passenden Werte schreiben.
Ich will die vielen 1:1 übertragbaren Werte (integer, boolean etc.) in einem Rutsch in meine Datenstruktur übernehmen und frage mich einfach nur, ob der eine Pointer (der auf einen Speicherberiech zeigen wird, der sehr wahrscheinlich mir nicht gehört) zwischen "move" und "fillchar" irgenwann dereferenziert wird.

Also um die Frage auf ein Langwort runterzubrechen:
Delphi-Quellcode:
type TDings = packed record
  a: integer;
  b: integer;
end;
type TDingsArray = array of TDings;
var Dings: TDings; //sizeof(Dings) = 4;
var CardVal: Cardial;
var p: pointer;

p := @Dings;
move(Dings, CardVal, 4); // Cardval = 0
move(p, CardVal, 4); // eben die Adresse
move(p, Dings, 4); // passiert da jetzt irgendwas mit Speicher der mir nicht gehört?
fillchar(Dings, 4, 0); // um den Müll wieder loszuwerden
setlegth(Dings, 100);
move(Dings, CardVal, 4); // CardVal = Zeiger auf Array of TDings?
Ich glaube wenn ich die Zeile "move(p, Dings, 4);" weglasse sollte doch alles in Ordnung sein. Was ich wissen will ist, ob die Zeile "move(p, Dings, 4)" außer der Adresse @Dings .. @Dings + 3 noch einen Speicherbereich anspricht oder nicht.
  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:38 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