![]() |
Indy http: Unbekanntes Protokoll
Was ist an diesem bitte falsch:
Delphi-Quellcode:
Wenn ich die Datei starte kommt dann die Meldung, dass es sich um ein unbekanntes Protokoll handelt und die Datei bleibt 0 Byte groß. Kann es sein, dass ich den Link gar nicht übergebe? Wie kann ich das Ergebnis von link als URL:= nutzen?
var FS:Tfilestream;
URL:String; link: String; ExtractFromExe('lnk',link); URL:= link; FS:=Tfilestream.Create(GetCurrentDir+'\update.exe',fmCreate); IdHTTP1.Get(URL,FS); FS.Free; |
AW: Indy http: Unbekanntes Protokoll
Was steht in Link drin?
|
AW: Indy http: Unbekanntes Protokoll
Link wird per einer anderen Datei in die Exe geschrieben. Es wird also per Edit-Feld vom eigentlichen Programm in die Exe ein Link, genannt lnk(Link) geschrieben.
|
AW: Indy http: Unbekanntes Protokoll
Hallo,
kannst Du den Inhalt hier mal wiedergeben den die Variable link hat nach dem er aus der Exe ausgelesen wurde? Grüße Klaus |
AW: Indy http: Unbekanntes Protokoll
Ich habe nun diverses probiert und es scheint ein generelles Problem zu sein:
Delphi-Quellcode:
Als Edit2.Text lasse ich den Benutzer eine beliebige URL eingeben in Format von:
InsOrReplaceInFile('lnk',GetCurrentDir+'\update.exe', Edit2.Text);
ShowMessage('Das Updateprogramm wurde gespeichert.') ![]() |
AW: Indy http: Unbekanntes Protokoll
Vielleicht kannst Du einfach mal die Frage beantworten?
Grüße Klaus
Delphi-Quellcode:
var FS:Tfilestream;
URL:String; link: String; ExtractFromExe('lnk',link); showMessage(link); URL:= link; FS:=Tfilestream.Create(GetCurrentDir+'\update.exe',fmCreate); IdHTTP1.Get(URL,FS); FS.Free; |
AW: Indy http: Unbekanntes Protokoll
Ich würde dir die Frage gerne beantworten, aber wenn ich Showmessagebox(URL) probiere scheint die Exe sich gar nicht mehr starten zu lassen. Es erscheint nicht mal mehr eine Form. Mir ist daher unbekannt was ausgegeben wird.
|
AW: Indy http: Unbekanntes Protokoll
Was vorher passiert und was irgendwo in einem Edit-Feld steht spielt doch erst mal keine Rolle.
Entscheidend ist was in der Variablen "link" bzw. "test" steht.
Delphi-Quellcode:
var FS:Tfilestream;
URL:String; link, test: String; ExtractFromExe('lnk',link); test := Copy(link, 1, 40); // Damit ShowMessage nicht mit tausenden Zeichen überflutet wird ShowMessageFmt('Link=<%s>', [test]); // Was wird hier ausgegeben? URL:= link; FS:=Tfilestream.Create(GetCurrentDir+'\update.exe',fmCreate); IdHTTP1.Get(URL,FS); FS.Free; |
AW: Indy http: Unbekanntes Protokoll
Es wird folgendes ausgegeben:
Zitat:
|
AW: Indy http: Unbekanntes Protokoll
Das liegt jedenfalls nicht an den Indy-Komponenten.
Weist du "link" nach der Deklaration "var link: string" überhaupt etwas zu? |
AW: Indy http: Unbekanntes Protokoll
Die Idee kommt mir auch langsam, dass die Variable Link einfach komplett leer bleibt, aber heißt es nicht, dass ExtractFromExe('lnk',link); der Wert von lnk als "link" wiedergegeben wird? Im Beispiel war es so, dass man z.B. folgendes hatte:
Delphi-Quellcode:
label4.text = link;
|
AW: Indy http: Unbekanntes Protokoll
Was macht denn ExtractFromExe? Diese Funktion kenne ich persönlich nicht.
Ich habe jedoch auch nur Turbo Delphi. |
AW: Indy http: Unbekanntes Protokoll
Liste der Anhänge anzeigen (Anzahl: 1)
Man kann damit eine Information in eine Exe reinschreiben. Das ist halt praktisch, wenn jeder Benutzer sich eine eigene Exe mit den eigenen Einstellungen (z.B. eigenen Link) erstellen möchte. Ich habe die EditServer.pas mal angehangen. Diese gehört also nicht zum Standardumfang von einer Delphi IDE.
|
AW: Indy http: Unbekanntes Protokoll
Den Prozeduraufruf machst du genau richtig.
Kann es sein, dass du den Text falsch in die Exe eingebunden hast und er daher nicht ausgelesen werden kann? Aber ob das allg. so sinnvoll ist, die Exe-Dateien so zu verändern, wage ich etwas zu bezweifeln. Gehe mal her und weise "link" manuell einen Wert zu. Das ist das erste, was ich in dem Fall machen würde. So siehst du sofort, woran es liegt. Funktioniert es dann, liegt es an diesem Exe-Gedöns und nicht an Indy. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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