Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

EAccessViolation-Fehler beim Programm

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Delphi/Kylix
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
andyxt



Anmeldungsdatum: 01.09.2005
Beiträge: 2

BeitragVerfasst am: 25. Apr 2006 22:33    Titel: EAccessViolation-Fehler beim Programm Antworten mit Zitat

Hi,
ich wollte ein Programm Reaktionstest machen. Habe dort allerdings ein Problem. Folgender Fehler tritt auf wenn ich das Programm starten will:

Im Projekt pMain ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00449218 in Modul 'pMain.exe'. Lesen von Adresse 00000238'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fprtsetzen.

Ich weiß echt nicht mehr weiter. Was soll ich bloß tun? Hilfe

Hier ist der Quelltext:
1.Unit:


Zitat:
unit mReaktion1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, mAmpel1;

type
TFrmMain = class(TForm)
BtTestreihe: TButton;
BtReaktionstest: TButton;
LbReaktionszeit: TLabel;
EdReaktionszeit: TEdit;
TiReaktion: TTimer;
procedure BtTestreiheClick(Sender: TObject);
procedure BtReaktionstestClick(Sender: TObject);
procedure TiReaktionTimer(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
Ampel: TAmpel;
Start, Stop: Longint;{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
FrmMain: TFrmMain;

implementation

{$R *.dfm}

procedure TFrmMain.BtTestreiheClick(Sender: TObject);
begin
Ampel := TAmpel.Create (FrmMain);
Ampel.Show;
Ampel.Rot;
BtReaktionstest.Enabled := true;
end;

procedure TFrmMain.BtReaktionstestClick(Sender: TObject);
begin
EDReaktionszeit.Text := '';
Ampel.Rot;
TiReaktion.Interval := 2000 + Random(3000);
TiReaktion.Enabled := true;
end;

procedure TFrmMain.TiReaktionTimer(Sender: TObject);
begin
Ampel.Gruen;
Start := GetTickCount;
TiReaktion.Enabled := True;
end;

procedure TFrmMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Stop := GetTickCount;
if Ampel.IstGruen
then EDReaktionszeit.Text := ' ' + InttoStr(Stop-Start) + 'ms';
end;

end.


2.Unit:

Zitat:
unit mAmpel1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TAmpel = class(TForm)
ImBild: TImage;
private
zGruen: Boolean;{ Private-Deklarationen }
public
procedure Rot;
procedure Gruen;
function IstGruen: Boolean;{ Public-Deklarationen }
end;

var
Ampel: TAmpel;

implementation

{$R *.dfm}

procedure TAmpel.Rot;
begin
with Canvas do begin
Pen.Width := 3;
Brush.Color := clRed;
Ellipse (20,20,140,140);
Brush.Color := clGray;
Ellipse (20,160,140,280);
end;
zGruen := False
end;

procedure TAmpel.Gruen;
begin
with Canvas do begin
Pen.Width := 3;
Brush.Color := clLime;
Ellipse (20,160,140,280);
Brush.Color := clGray;
Ellipse (20,20,140,140);
end;
zGruen := true;
end;

function TAmpel.IstGruen: Boolean;
begin
IstGruen := zGruen
end;


end.


Ich danke schon mal im Voraus.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Senior Sanchez
Gast





BeitragVerfasst am: 25. Apr 2006 23:00    Titel: Antworten mit Zitat

debugge mal und steppe dabei durch das Programm.
Dann siehste ja an welcher Stelle das auftritt.

Fakt ist wohl, es ist nen Speicherfehler, irgendwie will da was ausm virtuellen Adressraum ausbrechen und das kracht.
Nach oben
andyxt



Anmeldungsdatum: 01.09.2005
Beiträge: 2

BeitragVerfasst am: 28. Apr 2006 01:33    Titel: Antworten mit Zitat

äh...sorry für die dumme frage aber wie genau debugge ich? wenn ich das programm starte dann kommt natürlich die fehlermeldung und wenn ich delphi dann schließen will dann sagt der mir das der debugger läuft. was soll ich denn genau tun? Hilfe

danke schon mal für die hilfe Thumbs up!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Senior Sanchez
Gast





BeitragVerfasst am: 01. Mai 2006 00:14    Titel: Antworten mit Zitat

uff, wie war das nochmal bei delphi?
setze am besten erstmal an die erste Zeile Code die er bei dir ausführen soll nen Breakpoint und dann starte über das Menu den Debug-Modus (da wo auch Start und Programm zurücksetzen drin ist....... schaue am besten mal inne hilfe)
Nach oben
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Delphi/Kylix Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen