Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Memo.Lines.LoadFromFile (https://www.delphipraxis.net/128310-memo-lines-loadfromfile.html)

Berlinermauer 27. Jan 2009 18:09


Memo.Lines.LoadFromFile
 
Hallo Leute,

ich bastle gerade einen Updater für mein Programm, nur erhalte ich immer eine AccesViolation bei :

Delphi-Quellcode:
Form4.Changelog.Lines.LoadFromFile(ExtractFilePath(Paramstr(0)) + 'changelog.clg');
Form4.Changelog gibt es. kann es sein dass er die Datei nicht wirklich einlesen will? es gibt sie schon nur mit dem Inhalt :

Moep Moep
grüße an alle hier

nur das stellt er irgendwie nicht dar??
liegt es an den Umlauten? obwohl ohne gehts auch nicht

Zugriffsverletzung bei Adresse 004A43CC im Modul project1.exe. Lesen von Adresse 00000300. Prozess wurde angehalten.

Kann das auch an Vista liegen?

fkerber 27. Jan 2009 18:11

Re: Memo.Lines.LoadFromFile
 
Hi!

An welcher Stelle rufst du die besagte Zeile auf? (Also in welcher Prozedur?)


Ciao, Frederic

Matze 27. Jan 2009 18:12

Re: Memo.Lines.LoadFromFile
 
Hi,

hast du mal durchgesteppt und geschaut, ob es wirklich an der Zeile liegt?

Grüße, Matze

Fussball-Robby 27. Jan 2009 18:13

Re: Memo.Lines.LoadFromFile
 
Zitat:

Zitat von fkerber
An welcher Stelle rufst du die besagte Zeile auf? (Also in welcher Prozedur?)

Das wäre interessant, rufst du es zum Beispiel im OnCreate eines Formulars aus, das vor Form4 erstellt wird (wahrscheinlich Form1, Form2 und Form3), dann existiert das Memo nämlich noch nicht.
Gruß

Klaus01 27. Jan 2009 18:14

Re: Memo.Lines.LoadFromFile
 
Guten Abend,

lass Dir das bitte mal in einem TMemo oder TEdit ausgeben.

Delphi-Quellcode:
ExtractFilePath(Paramstr(0)) + 'changelog.clg')
Du bekommst den Pfad zu Deiner Aplikation angehängt noch changeLog.clg.
Nichts mit Form4.changeLog.clg.

Grüße
Klaus

DeddyH 27. Jan 2009 18:16

Re: Memo.Lines.LoadFromFile
 
@Robby: dagegen spricht aber eigentlich die angegebene Speicheradresse, oder?

Berlinermauer 27. Jan 2009 18:17

Re: Memo.Lines.LoadFromFile
 
Ahh danke FußballRobby!

ich hatte es so : eine Funktion die heißt Check_Updates()
und diese Checkt updates =)

joa un diese Wird im OnCreate der Form1. Aufgerufen -> Memo gibts noch nicht!

was kann ich machen außer in "Project1" das Create vorher ausführen? gibts auch sowas wie :

OnCreateDone, also wenn es fertig erstellt wurde, dass ich dann erst alles ausführe?

Fussball-Robby 27. Jan 2009 18:18

Re: Memo.Lines.LoadFromFile
 
Eventuell im OnCreate von Form4 ausführen? Dann ist Form4 ja schon da :wink:

DeddyH 27. Jan 2009 18:19

Re: Memo.Lines.LoadFromFile
 
Wieso nicht einfach im OnCreate von Form4? Oder ist das ein dynamisches Formular?

[edit] *grmpf* [/edit]

Berlinermauer 27. Jan 2009 18:22

Re: Memo.Lines.LoadFromFile
 
ok, danke.
fällt euch aber noch ne andere möglichkeit ein, da ich dann falls später noch Units hinzukommen,
dass ich dann einfach warte bis alles Createt ist?

denn ich habe das problem dass meine eine Unit die unit4 aufruft. die Unit selber würde aber dann von der unit4 aufgerufen -> Überkreuzter Aufrufsfehler!

Berlinermauer 27. Jan 2009 18:58

Re: Memo.Lines.LoadFromFile
 
hm sry für den push aber immoment is PrimeTime irgendwie verschiwnden die Post immer wie im nichts.

Wollt nochmal klarstellen : So wie ATM geht es NICHT, da die Units sich gegenseitig aufrufen würden

DeddyH 27. Jan 2009 19:09

Re: Memo.Lines.LoadFromFile
 
Versteh ich nicht. Wie, gegenseitig aufrufen?

Berlinermauer 27. Jan 2009 19:19

Re: Memo.Lines.LoadFromFile
 
naja :

die Unit doSomething schreibt was in die Form4, die das Memo beinhaltet

so, nun wird die Form4 wenn es sie gibt doSomething in die uses liste schreiben, damit es die Funktion gibt.

Delphi 7 gibt mir dann den Error von wegen ÜberKreuzter Aufruf oder so

DeddyH 27. Jan 2009 19:21

Re: Memo.Lines.LoadFromFile
 
Einmal in die uses-Klausel im interface und einmal im implementation-Teil schreiben. Aber wozu eigentlich unbedingt in ein Memo, könnte man das nicht erstmal in einer Stringlist vorhalten?

Berlinermauer 27. Jan 2009 20:15

Re: Memo.Lines.LoadFromFile
 
dann kommt :

Deklaration Erwartet aber Bezeichner "Unit 1" gefunden

Muetze1 27. Jan 2009 20:19

Re: Memo.Lines.LoadFromFile
 
Zitat:

Zitat von Berlinermauer
dann kommt :

Deklaration Erwartet aber Bezeichner "Unit 1" gefunden

Warum solltest du auch im Implementation Abschnitt gegenüber den Interface Abschnitt das Schlüsselwort uses weglassen können?

Und wie hast du es denn geschafft Delphi die Unit mit dem Leerzeichen unterzuschieben?

Berlinermauer 28. Jan 2009 15:46

Re: Memo.Lines.LoadFromFile
 
ok es funktioniert =)

nur habe ich gerade festgestellt, dass er erst alles macht bevor er weiter zeichnet.

kann ich denn in meiner Funktion was machen dass er in OnCreate die Funktion aufruft die aber wartet bis alles gezeichnet ist? denn so wartet er mit dem darstellen bis alles gemacht ist (zB 200mb patch geladen :P)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz