AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jedoch.
Thema durchsuchen
Ansicht
Themen-Optionen

schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jedoch.

Ein Thema von paule32.jk · begonnen am 21. Okt 2023 · letzter Beitrag vom 24. Okt 2023
Antwort Antwort
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#1

schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jedoch.

  Alt 21. Okt 2023, 20:30
Hallo,
wie der Titel des Themas schon vermuten läßt:
in Zeile: 153 bekomme ich eine AV vom Programm (in der Zeile 153).
aber ich weiß nicht, was der Grund ist.
kann da jemand weiterhelfen?
danke!

https://dpaste.com/4VPURFVR6
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jed

  Alt 21. Okt 2023, 21:16
Weil es sich um einen Record und nicht um ein Array handelt?
Oder das Array nicht (sinnvoll) initialisiert ist?

Geändert von Delphi.Narium (21. Okt 2023 um 22:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#3

AW: schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jed

  Alt 21. Okt 2023, 21:44
Instructions ist ein Dynamisches Array, welches vermutlich nicht richtig initialisiert wurde.
In Deinem (unübersichtlichen) Quellcode ist der Ablauf relativ schwierig nachvollziehbar.

Wenn Du hier ein lauffähiges Testprojekt hochladen würdest, wird es einfacher, Dir weiterzuhelfen.
Siehe auch #10 im anderen Tread.

DocWiki
Roland
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

AW: schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jed

  Alt 22. Okt 2023, 11:31
Warum immer wieder neue Threads,
https://www.delphipraxis.net/213934-...ppt-nicht.html
https://www.delphipraxis.net/213935-...-new-post.html
https://www.delphipraxis.net/213937-...-new-post.html
anstatt das eigentliche Problem endlich zu lösen?
https://www.delphipraxis.net/213929-...ml#post1528456
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Kas Ob.

Registriert seit: 3. Sep 2023
346 Beiträge
 
#5

AW: schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jed

  Alt 22. Okt 2023, 12:04
@Paul,
I think your problem is in your assumption about Pascal language and its types and expressions, most likely you are used to be a programmer in different language(s), and assuming Pascal will do the same, eg. Pascal is strongly typed and more strict than C(++).

In Pascal you can't switch any type into indexed one freely at your wish, you must declare an indexed type then use it as indexed one, though it is possible but highly not recommended, eg. casting is powerful but very dangerous and easily will allow you shoot your foot, pretty please don't try it before understand the difference.

So, take a break from coding and get familiar with arrays and records, and most importantly the managed and unmanaged types in Pascal/Delphi, you will save a lot of time, and at least your question will be right on point.
Kas
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#6

AW: schreiben von RECORD-Daten funktioniert. Das lesen von RECORD-Daten scheitert jed

  Alt 24. Okt 2023, 10:10
Delphi-Quellcode:
var
  Instructions: Array of TInstruction;
Eine Variable für ein dynamisches Array enthält nicht den Speicherbereich der die Daten der einzelnen Elemte des Arrays enthält.
Die Variable enthält nur einen Zeiger auf diesen Speicherbereich, da sich dessen Position im Speicher z.B. bei Änderung der Größe verschieben kann.
sizeof(Instructions) ergibt immer 4 bei einen 32Bit-Programm bzw. 8 bei 64Bit.

Die Anzahl der Elemente des Arrays ermittelt Length(Instructions) .
Die Größe eines Elements im Speicher sizeof(TInstruction) oder sizeof(Instructions[0])

Geändert von Blup (24. Okt 2023 um 10:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:10 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