Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [Was ist das?] Ini-Datei ist nicht da - oder doch??? (https://www.delphipraxis.net/77355-%5B-ist-das-%5D-ini-datei-ist-nicht-da-oder-doch.html)

uligerhardt 18. Sep 2006 15:56

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Scheinbar liegt's am Projektnamen: Speichere das Projekt mal als Clock2.bdsproj oder notepad.bdsproj und die entsprechende ini taucht beim Schreiben im Projektverzeichnis auf. Sehr suspekt... :-)

Martin K 18. Sep 2006 15:57

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
TIniFile in der Registry?
Seit wann denn das???

Also das Projekt habe ich mit Delphi7 PE erstellt, aber als ich es dann mit TurboDelphi öffnete trat genau das selbe Phänomen aus.

@Sidorion:
Auch wenn ich das ChangeFileExt rausnehme und direkt z.B. 'C:\test.ini' schreibe wird angebliche in die Datei 'C:\test.ini' gespeichert/gelesen, obwohl sie nicht da ist...

Ist es bei Dir genauso, wenn Du mein Projekt verwendest?

//Edit:
Tatsächlich! Es steht in der Registry!!!
Was ist denn das???
Und wieso wird mir bei FileName was anderes angezeigt?

uligerhardt 18. Sep 2006 16:00

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Zitat:

Zitat von uligerhardt
Scheinbar liegt's am Projektnamen: Speichere das Projekt mal als Clock2.bdsproj oder notepad.bdsproj und die entsprechende ini taucht beim Schreiben im Projektverzeichnis auf. Sehr suspekt... :-)

Noch besser: Nimm die kompilierte Clock.exe, kopiere sie im Explorer (=>"Kopie von Clock.exe"), ausführen, "Schreiben" und ... "Kopie von Clock.ini". Wieder umbenennen nach Clock.exe => kein Clock.ini.

Martin K 18. Sep 2006 16:03

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Ja, anscheinend leigts wirklich am Namen der exe: Clock.exe

Leute, ich geb euch einen Rat:
Wenn ihr mal wieder ein neues Projekt macht, benennt es bloß nicht Clock !

uligerhardt 18. Sep 2006 16:05

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Zitat:

Zitat von Martin K
Ja, anscheinend leigts wirklich am Namen der exe: Clock.exe

Leute, ich geb euch einen Rat:
Wenn ihr mal wieder ein neues Projekt macht, benennt es bloß nicht Clock !

Scheint mir ne gute Idee. :shock:

Christian Seehase 18. Sep 2006 20:52

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Moin Martin,

Du könntest Dir auch mal ansehen, was bei TIniFile.Create passiert.
Einfach mal das Create mit STRG zusammen anklicken, dann sollte sich der Sourcecode von TIniFile.Create zeigen.

Martin K 18. Sep 2006 21:39

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Delphi-Quellcode:
constructor TCustomIniFile.Create(const FileName: string);
begin
  FFileName := FileName;
end;
Das erklärt dann, wie der FileName bei ShowMessage zustande kommt.
Aber nicht, warum bei clock.exe in die Registry gespeichert wird...

Christian Seehase 18. Sep 2006 22:01

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Moin Martin,

ich hab' mir jetzt mal die Doku zu MSDN-Library durchsuchenWritePrivateProfileString angesehen (wird bei TIniFile.WriteString aufgerufen).
Wenn unter

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping

ein Key steht in der Form <Dateiname.ini>, so wird, auf der NT-Schiene, nicht in die Datei, sondern in die Registry geschrieben.
Da es dort, standardmässig, einen Eintrag Clock.ini gibt (aber auch control.ini, win.ini...) wird keine Datei geschrieben, sondern in die Registry.

Das liegt also nicht an Delphi, sondern an Windows.

Martin K 19. Sep 2006 14:29

Re: [Was ist das?] Ini-Datei ist nicht da - oder doch???
 
Zitat:

Zitat von Christian Seehase
Moin Martin,

ich hab' mir jetzt mal die Doku zu MSDN-Library durchsuchenWritePrivateProfileString angesehen (wird bei TIniFile.WriteString aufgerufen).
Wenn unter

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping

ein Key steht in der Form <Dateiname.ini>, so wird, auf der NT-Schiene, nicht in die Datei, sondern in die Registry geschrieben.
Da es dort, standardmässig, einen Eintrag Clock.ini gibt (aber auch control.ini, win.ini...) wird keine Datei geschrieben, sondern in die Registry.

Interessant das zu wissen...

Zitat:

Zitat von Christian Seehase
Das liegt also nicht an Delphi, sondern an Windows.

Ja, das dachte ich mir schon.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.
Seite 2 von 2     12   

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