![]() |
Immer wieder EAccessViolation Fehler
Hi Leute
bin noch frisch hier. Bin aus verzweiflung hierhin gekommen. Also mein Problem liegt darin dass ich unter Delphi 4 ein voll funktionsfähiges Programm geschrieben hab der eine Art Kuehlschrank Simulator darstellt. Jetzt habe ich das selbe Programm unter Delphi 7 geschrieben und es tut nicht. Ich krieg immer Exception:EAccessViolation als Fehler ausgespuckt. Aber wie gesagt nur unter Delphi 7. Unter Delphi 4 läuft es einwandfrei. Bitte Bitte Bitte helft mir!!!!!
Delphi-Quellcode:
unit UKuehlschrank;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) btSollerhoehen: TButton; btTuerauf: TButton; btSollerniedrigen: TButton; btTuerzu: TButton; btTemperatur: TButton; LbIst: TLabel; LbSoll: TLabel; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure btTemperaturClick(Sender: TObject); procedure btSollerhoehenClick(Sender: TObject); procedure btSollerniedrigenClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure btTueraufClick(Sender: TObject); procedure btTuerzuClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; CKuehlschrank = Class(TObject) zSolltemperatur, zIsttemperatur : Integer; zTuerauf : Boolean; Constructor Create; Procedure Tuer_schliessen; Procedure Tuer_oeffnen; Procedure sTemp_erhoehen; Procedure sTemp_erniedrigen; Procedure Temp_anpassen; Function Ist_Temp : Integer; Function Soll_Temp : Integer; End; var Form1: TForm1; Kuehlschrank : CKuehlschrank; implementation Constructor CKuehlschrank.Create; Begin Inherited Create; zSolltemperatur := 4; zIsttemperatur := 20; zTuerauf := True; End; Procedure CKuehlschrank.Tuer_schliessen; Begin zTuerauf := false; End; Procedure CKuehlschrank.Tuer_oeffnen; Begin zTuerauf := True; End; Procedure CKuehlschrank.sTemp_erhoehen; Begin If zSolltemperatur < 15 Then zSolltemperatur := zSolltemperatur + 1; End; Procedure CKuehlschrank.sTemp_erniedrigen; Begin If zSolltemperatur > 0 Then zSolltemperatur := zSolltemperatur - 1; End; Procedure CKuehlschrank.Temp_anpassen; Begin If zTuerauf Then if zIsttemperatur < 20 Then zIsttemperatur := zIsttemperatur +1 Else Else if zIsttemperatur > zSolltemperatur Then zIsttemperatur := zIsttemperatur - 1; End; Function Ckuehlschrank.Ist_Temp; Begin Result := zIsttemperatur; End; Function CKuehlschrank.Soll_Temp; Begin Result := zSolltemperatur; End; {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin Kuehlschrank := Ckuehlschrank.Create; end; procedure TForm1.btTemperaturClick(Sender: TObject); begin LbIst.Caption := inttostr(kuehlschrank.ist_Temp); LbSoll.Caption := inttostr(kuehlschrank.Soll_Temp); end; procedure TForm1.btSollerhoehenClick(Sender: TObject); begin Kuehlschrank.sTemp_erhoehen; end; procedure TForm1.btSollerniedrigenClick(Sender: TObject); begin Kuehlschrank.sTemp_erniedrigen; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Kuehlschrank.Temp_anpassen; LbIst.Caption := inttostr(kuehlschrank.ist_Temp); LbSoll.Caption := inttostr(kuehlschrank.Soll_Temp); end; procedure TForm1.btTueraufClick(Sender: TObject); begin Kuehlschrank.Tuer_oeffnen; end; procedure TForm1.btTuerzuClick(Sender: TObject); begin Kuehlschrank.Tuer_schliessen; end; end. |
Re: Immer wieder EAccessViolation Fehler
An welcher Stelle tritt den der Fehler auf. So auf Anhieb kann ich keinen Fehler erkennen :|
...:cat:... |
Re: Immer wieder EAccessViolation Fehler
Also
Es kommt sobald ich auf nen Button Klick oder der Timer Process ausgeführt wird. Mit anderen Worten: Immer *heul* *verzweifel* |
Re: Immer wieder EAccessViolation Fehler
Wäre voll nett wenn ihr das selber mal ausprobieren würdet.
|
Re: Immer wieder EAccessViolation Fehler
Gegenvorschlag, hänge mal das Programm als ZIP an, dann kann man es am besten testen ;-)
...:cat:... |
Re: Immer wieder EAccessViolation Fehler
Ok
Mach ich. Und danke schonmal im Vorraus |
Re: Immer wieder EAccessViolation Fehler
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist die Zip-Datei mit hoffentlich allen nötigen Klamotten
|
Re: Immer wieder EAccessViolation Fehler
Also, in Delphi 4 lässt es sich nicht öffnen, da Delphi 7 ein anderes Format nutzt :shock: Aber in Delphi 7 ist ein Ereignishandler verloren gegangen...
Wähle das Form aus, gehe in den Objekt Inspektor auf den Reiter Ereignisse und tätige einen DoppelKlick für das OnCreate-Ereignis, damit dieses wieder zugewiesen wird. Anschließend kompilieren und erfreuen ;-) ...:cat:... |
Re: Immer wieder EAccessViolation Fehler
DANKE
Oh man du hast mir den Tag gerettet. THX THX THX |
Re: Immer wieder EAccessViolation Fehler
Kein Problem ;-) Das sind soi die Tücken - der Code war halt komplett korrekt ;-)
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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