![]() |
EAccess Violation Fehler
Liste der Anhänge anzeigen (Anzahl: 2)
hab schon wieder nen prob und es nich in der suche verständlich erklärt gefunden,
nen bild von dem fehler und der anzeige bei welcher stelle es sein soll hab ich mit rangehangen, und noch ein bissl quelltext - ich raff den fehlker einfach nich
Code:
und von der stelle wo die unit3 aufgerufen wird
unit Unit3;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, jpeg; type TStrassenInfo = class(TForm) Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; procedure FormActivate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var StrassenInfo: TStrassenInfo; k,m:byte; implementation uses Unit1; {$R *.DFM} procedure TStrassenInfo.FormActivate(Sender: TObject); var x:byte; begin For x:=1 to 4 do (Findcomponent('Image'+intToStr(x))as TImage).visible:=false; k:=Unit1.k; (Findcomponent('Image'+intToStr(k+1))as TImage).visible:=true; For x:=1 to 28 do If Unit1.Strasse[x].nr = Unit1.Spiela[k].stand then m:=x; Panel1.Caption:=(Unit1.Strasse[m].Name); If Unit1.Strasse[m].verkauft = 0 then BitBtn1.enabled:=true; end; procedure TStrassenInfo.BitBtn1Click(Sender: TObject); begin (Form1.Findcomponent('combobox'+intToStr(Unit1.k))as Tcombobox).items.add(Unit1.Strasse[m].Name); Unit1.Spiela[k].Guthaben:=(Unit1.Spiela[k].Guthaben)-(Unit1.Strasse[m].Wert); (Form1.Findcomponent('panel'+intToStr(6+k))as TPanel).caption:=floattostr(Spiela[k].Guthaben); BitBtn1.enabled:=false; Unit1.Strasse[m].verkauft:=1; end; procedure TStrassenInfo.BitBtn2Click(Sender: TObject); begin Strasseninfo.close; end; end.
Code:
Form3 hab ich Strasseninfo genannt
procedure stehen(var p,q,k:byte);
var x:byte; begin . . . For x:=1 to 4 do begin If k <> x then If Spiela[k].stand = Spiela[x].stand then begin p:=p+5; q:=q+5; end; end; For x:=1 to 28 do If Strasse[x].nr = Spiela[k].stand then StrassenInfo.show; end; |
Re: EAccess Violation Fehler
unit3 in die Uses List aufnehmen
|
Re: EAccess Violation Fehler
is sie schon
|
Re: EAccess Violation Fehler
Wie ist Spiela definiert?
|
Re: EAccess Violation Fehler
Hier ist gefährlicher Code:
Delphi-Quellcode:
Es könnte ja sein, dass es Image4 nicht gibt; dann Zugriffsverletzung.
For x:=1 to 4 do
(Findcomponent('Image'+intToStr(x))as TImage).visible:=false; so wird die Sache entschärft:
Delphi-Quellcode:
var
c : TComponent; ... For x:=1 to 4 do begin c := Findcomponent('Image'+intToStr(x)); Assert(Assigned(c)); (c as TImage).visible:=false; end; |
Re: EAccess Violation Fehler
gute idee, habe jetze die stelle entschärft und der fehler kommt nich mehr so zeitig,
allerdings is jetze einer 100%ig hier an der stelle:
Delphi-Quellcode:
sobald ich diesen button drücke verabschiedet sich delphi^^
procedure TStrassenInfo.BitBtn1Click(Sender: TObject);
begin (Form1.Findcomponent('combobox'+intToStr(Unit1.k))as Tcombobox).items.add(Unit1.Strasse[m].Name); Unit1.Spiela[k].Guthaben:=(Unit1.Spiela[k].Guthaben)-(Unit1.Strasse[m].Wert); (Form1.Findcomponent('panel'+intToStr(6+k))as TPanel).caption:=floattostr(Spiela[k].Guthaben); BitBtn1.enabled:=false; Unit1.Strasse[m].verkauft:=1; end; |
Re: EAccess Violation Fehler
hab die zeile, is die hier:
Delphi-Quellcode:
aber warum??
(Form1.Findcomponent('combobox'+intToStr(Unit1.k))as Tcombobox).items.add(Unit1.Strasse[m].Name);
|
Re: EAccess Violation Fehler
Das ist doch dasselbe in grün.
|
Re: EAccess Violation Fehler
was is mit grün??
|
Re: EAccess Violation Fehler
Ich meinte damit, Du kannst den Code von shmia doch hierher übertragen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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