Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   record (boolean + timage)true/false abfragen (https://www.delphipraxis.net/156822-record-boolean-timage-true-false-abfragen.html)

Freshchris 16. Dez 2010 08:07

record (boolean + timage)true/false abfragen
 
Hallo,

ich habe einen record
Code:
bome = record
bild:Timage;
freigabe:boolean;
und ein Geschoss (Array of Bombe).
freigabe soll standartmäßig false sein, sobald die Schuss taste gedrückt wird, wird sie auf true gesetzt.
trozdem habe ich eine Zugriffsverletzung wenn ich folgendes abfrage:
Code:
if Geschoss[Index].freigabe = true then
begin
if Geschoss[Index].bild.top <=220 then ...
hab ich irgendwas vergessen ?

DeddyH 16. Dez 2010 08:20

AW: record (boolean + timage)true/false abfragen
 
Was passiert hier?
Delphi-Quellcode:
if Geschoss[Index].freigabe{ = true} then
begin
  if Assigned(Geschoss[Index].Bild) then
    if Geschoss[Index].bild.top <=220 then ...

Bummi 16. Dez 2010 09:22

AW: record (boolean + timage)true/false abfragen
 
Zugriffsverletzung klingt als ob Du einen ungültigen Index verwendest.

Neutral General 16. Dez 2010 09:27

AW: record (boolean + timage)true/false abfragen
 
Ich vermute wie DeddyH auch eher, dass er das TImage nicht erstellt ist, es deswegen nil ist und es dadurch beim Zugriff auf bild.top kracht.

himitsu 16. Dez 2010 11:26

AW: record (boolean + timage)true/false abfragen
 
Schalte doch mal die Indexprüfung der Arrays an.
siehe Projektoptionen > Bereichsprüfnung

DeddyH 16. Dez 2010 12:23

AW: record (boolean + timage)true/false abfragen
 
Es würde auch genügen, etwas mehr Code zu zeigen, dann müssen wir nicht raten.

stho 16. Dez 2010 14:27

AW: record (boolean + timage)true/false abfragen
 
oder er rechnet beim Durchzählen des Arrays von

1 bis Length(Array)

anstatt

0 bis Length(Array) -1

Deep-Sea 16. Dez 2010 14:30

AW: record (boolean + timage)true/false abfragen
 
Na wenn schon, dann bitte Low(Array) bis High(Array).
Denn ein statisches Array kann auch mit 42 oder sonst etwas anfangen, wenn man will :P

DeddyH 16. Dez 2010 14:47

AW: record (boolean + timage)true/false abfragen
 
Zitat:

Zitat von Deep-Sea (Beitrag 1068908)
Na wenn schon, dann bitte Low(Array) bis High(Array).
Denn ein statisches Array kann auch mit 42 oder sonst etwas anfangen, wenn man will :P

:thumb: Sag ich ja auch immer

Freshchris 21. Dez 2010 13:25

AW: record (boolean + timage)true/false abfragen
 
Wir haben das Problem gelöst. Wir schrieben die Abfrage einfach an eine bestimmte Stelle.
Vielen Dank für eiure antworten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.
Seite 1 von 2  1 2      

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