![]() |
EAccesss Violation
Argh, bei mir kommt immer EAccesss Violation wenn ich mein Programm straten will.
Es liegt scheinbar an einer Unit, da wenn ich sie rausnehme, das Programm normal startet. Hat irgendwer ne Ide, woran das liegen kann? Hier ist mal der Code, schon mal im Vorraus danke für jede Hilfe.
Delphi-Quellcode:
unit Unit4;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, inifiles ; type TForm4 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); procedure Formcreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form4: TForm4; Pass,Pass1 : String; ini: TIniFile; implementation uses Unit5, Unit6; {$R *.dfm} procedure TForm4.Formcreate(Sender: TObject); begin begin ini:=TIniFile.create('./File1.ini'); try Pass:=ini.ReadString('Form','Pass','Horst'); Pass1:=ini.ReadString('Benutzer','Pass','Horst'); finally ini.free; end; end; end; procedure TForm4.Button1Click(Sender: TObject); begin begin if Edit1.Text = pass then form5.show else showmessage ('Sucker, falsches Pass'); end; begin if Edit1.Text = pass1 then form6.show else showmessage ('Sucker, falsches Pass'); end; end; end. |
Re: EAccesss Violation
Hi,
in diesem Code schnipsel ist kein fehler... von daher kann ich dir auchnicht weiter sagen was das Problem ist.. Aber, du kannst dir ein paar begin's/End's sparen ;) hier z.B.:
Delphi-Quellcode:
das reicht so völlig:
procedure TForm4.Formcreate(Sender: TObject);
begin begin ini:=TIniFile.create('./File1.ini'); try Pass:=ini.ReadString('Form','Pass','Horst'); Pass1:=ini.ReadString('Benutzer','Pass','Horst'); finally ini.free; end; end; end;
Delphi-Quellcode:
Au'revoir,
procedure TForm4.Formcreate(Sender: TObject);
begin ini:=TIniFile.create('./File1.ini'); try Pass:=ini.ReadString('Form','Pass','Horst'); Pass1:=ini.ReadString('Benutzer','Pass','Horst'); finally ini.free; end; end; Aya~ |
Re: EAccesss Violation
Moin Spike,
das hier ist nicht ungefährlich: './File1.ini' damit wird die Datei File1.ini angesprochen, die sich im Arbeitsverzeichnis des Programmes befindet. Da dieses aber während eines Programmlaufes veränderbar ist kann es zu unerwarteten Problemen führen. Am Besten, Du gibst den Pfad vollständig an. |
Re: EAccesss Violation
Hi,
Zitat:
Also muß der fehler woanders liegen. Au'revoir, Aya~ |
Re: EAccesss Violation
Moin Spike,
geh' doch mal im Einzelschritt durch das Programm (F7/F8 ) bis der Fehler kommt. Dann lässt sich der Fehler besser einkreisen. @Aya: Nö, 'ne AV wird's dadurch nicht geben, aber es kann üble, und vor allem schwer zu findende, Fehlfunktionen hervorrufen sich auf das Arbeitsverzeichnis zu verlassen. |
Re: EAccesss Violation
Falls Du es nicht kennst, sonst ignorieren:
Menü: Start: Parameter: Lasche "Lokal": Eintrag: "Host-Anwendung" dort "C:\Programme\Borland\Delphi5\Bin\delphi32.exe " oder wo auch immer Deine Delphi-Exe steckt eintragen. Wenn Du dann startest, lädt Delphi nochmals Delphi dieses dann Dein Programm. Du kannst dann im ursprünglichen Delphi durch setzen von Breakpoints Den Programmablauf verfolgen. So fängst Du auch Fehler ab (und kannst sehen, wo genau sie entstehen), bei denen Dir Delphi sonst nur eine lapidare Fehlermeldung bringt. Besonders wichtig ist dies bei eigenen Komponenten, wenn Dir Fehler schon im Designer zur Entwurfszeit um die Ohren fliegen (kommt bei mir Aufgrund exzessiver Komponentenentwicklung leider öfter vor :-) GreetsToAll |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 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