Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zugriffsverletzung (https://www.delphipraxis.net/151597-zugriffsverletzung.html)

SunSet 24. Mai 2010 22:36


Zugriffsverletzung
 
Nabend,
ich habe 5 Forms und befinde mich in Form3. In dieser möchte ich prüfen, ob ein Button in Form5 freigeschaltet ist oder nicht. Ich habe beide Units in den uses teil eingefuegt und trotzdem kommt eine Fehlermeldung. Ich habe natürlich bereits die Suchfunktion benutzt und nur was von wegen Zirkuläre Unit Referenz oder so gelesen, wobei dort nur steht die Units im uses-Teil zu nennen. Ich steh gerade echt total aufm Schlauch und weiß einfach nicht weiter..
Bitte helft mir :?

Chemiker 24. Mai 2010 22:48

Re: Zugriffsverletzung
 
Hallo SunSet,

sieh mal, Du hast den Quellcode vor Augen und kannst den Fehler nicht erkennen, wie sollen wir ihn erkennen durch telepathische Fähigkeiten?

Zeig uns:
1. Welche Fehlermeldung
2. Relevanten Quellcode
3. An welchen Stelle im Code bleibt der Debugger stehen

Bis bald Chemiker

SunSet 24. Mai 2010 22:54

Re: Zugriffsverletzung
 
Das Programm startet ohne Probleme, bei einem On-Click-Ereignis eines Images in Form3 prüfe ich einen Button aus Form5. Die Fehlermeldung erscheint erst wenn ich das On-Click-Ereignis ausführe.
Delphi-Quellcode:
if Form5.btFreihand.Enabled = false then begin
 Klick := true;
 Image1.Canvas.MoveTo(x,y);
end
Fehlermeldung:
Acces violationat adress 004706 in module 'Image.exe'. Read of adress 000002F8

Sry das ich dies nicht gleich geschrieben hab, dachte man versteht was ich mit Zugriffsverletzung meine. Bin einfach schon zu lange am pc..

Zacherl 24. Mai 2010 23:04

Re: Zugriffsverletzung
 
Gibt eigentlich nur 2 Möglichkeiten:
1) Form5 wurde noch nicht erzeugt (Create)
2) ich glaube du kannst nicht so auf Image1.Canvas zugreifen. Der Zugriff sollte eher über Image1.Picture.Canvas (oder sogar Image1.Picture.Bitmap.Canvas) erfolgen.

SunSet 24. Mai 2010 23:11

Re: Zugriffsverletzung
 
Form5 erzeuge ich in Form3:
Delphi-Quellcode:
TForm5.Create(Self);
An dem Canvas liegts nicht, da der Fehler ja auch an der Stelle
Delphi-Quellcode:
if Form5.btFreihand.Enabled = false
auftritt. Ich weiß echt nicht mehr weiter..

Zacherl 24. Mai 2010 23:12

Re: Zugriffsverletzung
 
Ist
Delphi-Quellcode:
TForm5.Create(Self);
die komplette Zeile? Weil es ja vollständigerweise auch
Delphi-Quellcode:
Form5 := TForm5.Create(Self);
heißen müsste.

SunSet 24. Mai 2010 23:18

Re: Zugriffsverletzung
 
Du bist mein Retter :love:
Daran lags.. echt cool von dir :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 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