Autor Beitrag
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 11.01.08 20:04 
jedesmal wenn ich auf eine Datei zugreifen möchte, erhalte ich folgende Fehlermeldung:

Zugriffsverletzung bei Adresse 0044b23e in Modul 'project1.exe'. Lesen von Adresse 00000358.

Ich habe Windows Vista. Hat das damit zu tun?


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (Delphi) verschoben am Fr 11.01.2008 um 20:07
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 11.01.08 20:06 
Hey!
Wie schaut Dein Code aus, mit dem Du auf die Datei versuchst zuzugreifen? ;)

Grüße
FinnO Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 11.01.08 20:07 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.FormCreate(Sender: TObject);
var f : Textfile;

begin
assignfile(f, 'Data.Tdat');
if not fileexists('Data.Tdat') then
begin

 form2.show;
form1.Hide;
end;
end;
ma$ter
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.01.08 21:08 
Hallo,

dein Problem ist folgendes: dein Project (nennen wir es Project1) erzeugt erst Form1 (Form1.create) und danach Form2 (Form2.create). Deine Anwendung will auf Form2 zugreifen, wenn sie noch gar nicht existiert. Meine Lösung:

1. mit der rechten Maustaste auf Project1.exe in der Projektverwaltung klicken
2. Quelltext auswählen
3. erst Form2 erstellen, dann Form1:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1); 
  Application.Run;
end.
FinnO Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 11.01.08 21:26 
das ist nichteinmal das Problem.

a) der Fehler ergibt sich direkt nach dem zugriff auf die Datei, nicht auf das formular.
b) seit neustem beschwert sich Delphi, es könne die project1.exe nicht erstellen. Kann dies an fehlenden
laufzeitvariablen? Ich hab am Anfang, wenn ich Turbo starte immer eine Fehlermeldung von wegen ich soll irgendeinen Pfad hinzufügen.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 11.01.08 21:55 
Wenn mich nicht alles täuscht, musst Du schon einen absoluten Pfad zur Datei angeben.
Woher soll Delphi wissen, in welchem Ordner die Datei liegt?

Sollte die Datei im gleichen Ordner wie die Exe liegen: ExtractFilePath( ParamStr(0) )
Nähere Beschreibung dazu im Forum oder DOH.

Grüße
Marc
DrRzf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260

Win XP Prof
D7 Enterprise
BeitragVerfasst: Sa 12.01.08 15:02 
ausserdem solltest du villeicht zuerst prüfen ob die Datei vorhanden ist und dann assignen.

_________________
rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.