Einzelnen Beitrag anzeigen

E-Razor

Registriert seit: 3. Okt 2003
Ort: Bochum
12 Beiträge
 
Delphi 7 Enterprise
 
#1

Immer wieder EAccessViolation Fehler

  Alt 3. Okt 2003, 12:10
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.
  Mit Zitat antworten Zitat