AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ParamStr ParamStr(0), Bildschirmschoner und lange Dateinamen
Thema durchsuchen
Ansicht
Themen-Optionen

ParamStr ParamStr(0), Bildschirmschoner und lange Dateinamen

Ein Thema von Delphi-Laie · begonnen am 27. Mai 2012 · letzter Beitrag vom 28. Mai 2012
Antwort Antwort
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

AW: IniFile TIniFile und lange Dateinamen

  Alt 28. Mai 2012, 09:55
Popov: Es funktioniert auch mit kurzem Dateinamen und läßt sich auch mit besagter Zusatzfunktion beheben. Aber Du weißt doch, wie Programmierer sind: Akribisch, pedantisch, penibel (wie immer positiv oder negativ konnotiert man das ausdrückt). Die Tilde sieht einfach besch...eiden aus und erinnert an das dunkle Windows-Mittelalter (was diesen geschwungenen Bogen wohl erst so häßlich werden ließ). Wenn es einmal korrekt und einmal nur halb funktioniert, dann stimmt doch irgendwo irgendetwas nicht, und wir wären keine Programmierer, wenn wir nicht wenigstens dieser Sache auf den Grund zu gehen versuchen würden, nicht wahr? Ist ja an der regen Beteiligung in den allermeisten Diskussionen ablesbar, und es schult ja sogar die Profis und fordert sie heraus (sozusagen eine kostenlose Weiterbildung).

himitsu: Vielleicht ist sogar ParamStr oder konkret ParamStr(0) unschuldig, aber einen GetCommandLine- oder GetModuleFileName-Befehl jetzt noch zu analysieren, überfordert mich nun doch endgültig. Allerdings funktionierte es sogar schon unter ME, und das wird wohl kaum großartig andere Befehle verbaut bekommen haben (2000 und ME erschienen ja fast gleichzeitig).

Vielen Dank allen Interessenten und Helfern hier!

Edit: Sogar unter einem XP funktioniert es mit dem langen Dateinamen unter den schon beschriebenen Voraussetzungen nicht.

Geändert von Delphi-Laie (28. Mai 2012 um 10:23 Uhr)
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: IniFile TIniFile und lange Dateinamen

  Alt 28. Mai 2012, 10:40
Ich "pushe" jetzt ganz bewußt. Das Problem muß noch tiefer stecken. Im Anhang die Bildschirmkopie unter Windows XP (!) meines nunmehr inzwischen mit Delphi 7 (!) erstellten Testbildschirmschoners. Allmählich wundert es mich sogar, daß dieses Problem nicht nachvollziehbar sein soll.
Angehängte Grafiken
Dateityp: jpg ParamStrtest unter XP mit Delphi 7 erstellt.jpg (23,0 KB, 13x aufgerufen)

Geändert von Delphi-Laie (28. Mai 2012 um 15:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#3

AW: IniFile TIniFile und lange Dateinamen

  Alt 28. Mai 2012, 11:00
Alles vollkommen korrekt.

MSDN-Library durchsuchenGetModuleFileName
Zitat:
Windows XP: The string is truncated to nSize characters and is not null-terminated.

The string returned will use the same format that was specified when the module was loaded. Therefore, the path can be a long or short file name, and can use the prefix "\\?\". For more information, see Naming a File.
Man hätte nur mal nachlesen zu brauchen.


MSDN-Library durchsuchenGetModuleFileNameEx ?


Tja, das zeigt auch gleich, daß diese Programme mindestens Windows XP benötigen ... davor werden sie nichtmal starten.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: IniFile TIniFile und lange Dateinamen

  Alt 28. Mai 2012, 14:44
Nachlesen...naja, wenn zwei tun, ist es noch lang nicht dasselbe.

Danke, himitsu, daß Du Dich so rührend darum kümmerst.

Wenn "alles vollkommen korrekt" ist, was ich nicht bezweifele, so ist doch - zumindest für mich - nicht nachvollziehbar, wieso dieses (Fehl-)Verhalten

- Popov nicht bestätigen kann
- nur auftritt, wenn der BS-Schoner über das von Windows eigens dafür präparierte Fenster, nicht jedoch über die Konsole aufgerufen wird.

Konsistent ist das m.E. nicht.

Geändert von Delphi-Laie (28. Mai 2012 um 14:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#5

AW: IniFile TIniFile und lange Dateinamen

  Alt 28. Mai 2012, 14:56
Auch mal den Kurznamen über die Konsole probiert?
Mit absolutem und relativen Pfad.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: IniFile TIniFile und lange Dateinamen

  Alt 28. Mai 2012, 15:09
Auch mal den Kurznamen über die Konsole probiert?
Mit absolutem und relativen Pfad.
Nein, ich rief nur über den langen Dateinamen über die Konsole auf, bei den kurzen ist schon die Schwierigkeit, die Tilde zu erzeugen. Vielleicht wird es über das Fenster ja mit dem kurzen aufgerufen?
Mit "relativem" Pfad kann ich nicht viel anfangen, vermutlich sind da Umgebungsvariablen mit im Spiel. Ich rief nur über den absoluten Pfad auf ("C:\Winnt.0\ParamStrTest.scr").

Edit: Nein, auch wenn ich mit kurzem Dateinamen über die Konsole aufrufe, wird korrekterweise der lange angezeigt.

Geändert von Delphi-Laie (28. Mai 2012 um 15:17 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 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