Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi paramstr hat Probleme mit Leerzeichen im Pfad (https://www.delphipraxis.net/5431-paramstr-hat-probleme-mit-leerzeichen-im-pfad.html)

torud 5. Jun 2003 20:52


paramstr hat Probleme mit Leerzeichen im Pfad
 
Hallo User,

ich starte meine Application unter anderem über meine eigene Dateiendung. Alles ist ok. Ich habe aber festgestellt, dass das Programm ein Problem damit hat, wenn ich auf eine eigene Datei doppelt klicke, die sich im Order "Eigene Dateien" befindet. Mein Programm startet öffnet aber die Datei nicht, weil der Dateipfad offensichtlich nach "Eigene" aufhört. Schuld ist wohl das Leerzeichen. Wie kann ich dieses Problem lösen?

In VB und VB-Script macht mans so:
variable = chr(34) & pfad & chr(34)
Man verpackts einfach in Hochkommas, welche für einen String stehen. Und wie mache ich das in Delphi mit TP ?

Danke
Tom

Luckie 5. Jun 2003 20:58

Genauso.

torud 5. Jun 2003 21:00

Jo, Danke!Ich hatte gerade mal noch meine Suche verfeinert und wollte hier noch posten wo ich auch bestätigung fand:

Und hier der Link

Danke Tom

Christian Seehase 5. Jun 2003 22:03

Moin Tom,

Deiner Beschreibung nach dürfte das Problem aber nicht in Deinem Programm liegen, sondern im Command in der Registry.
Der Wert dort müsste so aussehen:

"Pfad zum Programm" "%1"

torud 6. Jun 2003 08:47

Hi Chris,

ich denke Du hast Recht. Ich habe mal in meiner Registry nachgesehen und genau diesen "Fehler" entdeckt. Leider erstelle ich mein Setup mit InnoSetup. Eigentlich bin ich ganz zufrieden damit. Nur Leider kann man dort nicht folgendes machen, um den Fehler, wie von mir beschrieben eben NICHT mehr zu bekommen.

Root: HKCR; Subkey: "CSS-Maker\Shell\Open\Command"; ValueType: string; ValueName: ""; ValueData: "{app}\maker.exe" "%1"

Inno Setup beschwert sich dann leider.
Mal sehen, wie ich dieses Problem lösen kann.

Danke Tom

Luckie 6. Jun 2003 08:52

Lass den Eintrag beim ersten Start deines Porgrammes anlegen. Dann kann man sogar noch eien Abfrage einbauen, ob es überhaupt gewünscht ist.

torud 6. Jun 2003 08:57

Hi Lucki,

die Abfrage wäre kein Problem. Nur finde ich sie eher sinnlos, da ich der Meinung bin, das dieser Eintrag ein "MUSS" ist, dass der User doch hinnehmen muss. Oder sehe ich dass etwas zu verbissen?

Naja und den Eintrag vonm Programm vornemen zu lassen: So weit war ich schon mal und eigentlich war ich nicht unbedingt zufrieden damit, aber ich werdswohl wieder so machen MÜSSEN.

Kann es da eigentlich noch zu Problemen mit NT40-User kommen, die eigentlich keine Administratorenrechte haben? Ich frage nur, weil ich wissen muss ob ich dann in diesem Falle auch schreiben dürfte.!?

Ich werds wohl in eine
Try
Except
finally

packen!?

Danke Tom

Mario 6. Jun 2003 08:57

Die Hilfedatei von InnoSetup ist eigentlich sehr gut:
Zitat:

To embed a double-quote character inside a quoted value, use two consecutive double-quote characters. For example:

"This "" contains "" embedded "" quotes"

The Setup Compiler would see that as:

This " contains " embedded " quotes

If you want the value of a parameter to be a single double-quote character, use four double-quote characters: """". The outer two are needed to surround the string in quotes; the inner two are used to embed a single double-quote character.

torud 6. Jun 2003 09:00

Hi Mario,

ok i´ try this one. sorry, but my english is not so good. i used the helpfile of inno-setup, but i can´t find the comment you told me.

thanx
tom

Mario 6. Jun 2003 09:01

Ich bin in der Hilfe auf Suchen gegangen und habe quoted gesucht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Seite 1 von 3  1 23      

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