AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Das System kann den Pfad nicht finden

Das System kann den Pfad nicht finden

Ein Thema von Delbor · begonnen am 5. Jul 2016 · letzter Beitrag vom 6. Jul 2016
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
901 Beiträge
 
Delphi 10.3 Rio
 
#1

Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:17
Hi zusammen
Da dieses Thema nicht mehr ganz so zum Thema dieses Threads passt, mache ich einen neuen auf.
Aktueller Stand der Dinge ist: Ich habe 2 WebactionItems, in denen ich jeweils versuche, einen Hintergrund, bzw. ein Logo zu laden:

Delphi-Quellcode:
procedure TWebModule1.WebModule1WebActBackgroundItem2Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    var fs : tFileStream; sFile, BGdPath : String;
begin
  if Request.PathInfo = '/Images/background/bgblue.jpgthen
  begin
    try
// E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background
      sFile := Format('E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background\%s', [Request.QueryFields.Values['background']]);

      fs := tFileStream.Create(sFile,fmOpenRead);
...
und
Delphi-Quellcode:
procedure TWebModule1.WebModule1WebActLogoitemAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    var fs : tFileStream; sFile, BGdPath : String;
begin
  try
// E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\Logo
    sFile := Format('E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\Logo\%s', [Request.QueryFields.Values['Logo']]);

    fs := tFileStream.Create(sFile,fmOpenRead);
Beide Male wird mir eine Exception geworfen - die Fehlermeldung besagt in etwa das, was der Threadtitel aussagt.
In beiden Codeschnipseln steht über der Format-Anweisung jeweils der Pfad, wie er im Explorer in der Adresszele steht - der kann daher eigentlich gar nicht falsch sein.
Soeben versucht habe ich:
sFile := Format('\Images\Logo\%s', [Request.QueryFields.Values['Logo']]); Das hätte eigentlich funktionieren sollen (unterhalb des Html-Ordners liegt noch einOrdner 'Logo' mit dem gesuchten Inhalt). Das Resultat war jedoch dasselbe...
Was läuft da falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: Hamburg
152 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:21
Mal so aus der Hüfte: Müsste man die Backslashes nicht escapen? Also: "C:\\testordener\\datei.jpg"
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.652 Beiträge
 
Delphi 7 Personal
 
#3

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:29
Beide Male wird mir eine Exception geworfen - die Fehlermeldung besagt in etwa das, was der Threadtitel aussagt.
"In etwa" ist ja sehr dehnbar.
a) nimm die Meldung wörtlich, ist der Pfad wirklich vorhanden? was wird an das Stream.Create wirklich übergeben?
b) Dir (deinem Programm)fehlt die notwendige Berechtigung die Datei zu öffnen.
c) Die Datei ist schon geöffnet (und sei es durch ein ProgrammZombie)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:37
@p80286

Um zu ermitteln was in sfile steht wenn der Stream erzeugt wird müsste man ja so etwas wie einen Debugger haben und den auch noch verwenden und dann auch noch lesen.

Das sind ja drei Dinge auf einmal ... und das gibt es doch nur beim Ü-Ei

Ich hätte eigentlich erwartet, dass man auf diese Idee auch von selber kommt und diese Erkenntnis gleich mit in die Frage packt ... obwohl, welche Frage gibt es dann noch?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
901 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:39
Hi zusammen

@rapante:
Wäre wohl zu testen. Andrerseits enthält request.pathinfo nur einzelne Slashes (noch nicht mal Backslashes). Und mein kluges Buch weiss auch nichts davon...
@ p80286:
'In etwa': Ich habe das Wörtchen 'angegebenen' ausgelassen.
a) Ja, der Pfad ist vorhanden
b) Wenig wahrscheinlich, aber wäre zu prüfen
c) Da bliebe wohl nur ein neustart...

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:44
Es ist anscheinend sehr schwer

Delphi-Quellcode:
procedure TWebModule1.WebModule1WebActBackgroundItem2Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    var fs : tFileStream; sFile, BGdPath : String;
begin
  if Request.PathInfo = '/Images/background/bgblue.jpgthen
  begin
    try
// E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background
      sFile := Format('E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background\%s', [Request.QueryFields.Values['background']]);

      /// !!! AUFMERKSAMKEIT !!!!
      /// Was steht JETZT in der Variablen sfile?
      /// !!! AUFMERKSAMKEIT !!!!

      fs := tFileStream.Create(sFile,fmOpenRead);
...
So besser zu verstehen?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.011 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:48
Kann es an dem Leerzeichen im Pfadnamen liegen?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 11:54
Kann es an dem Leerzeichen im Pfadnamen liegen?
Das wäre nur dann zu beachten, wenn man den Pfad als Kommandozeilen-Parameter übergibt ... sonst ist es wurscht ... bzw. genau richtig so, wenn der Pfad auch exakt so lautet

PS: Ich vermute mal, dass in sfile folgender Inhalt zu finden ist
Zitat:
E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\Delbo rDataSnapServer\Images\background\
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
901 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 12:01
Hi Sir Rufo

Nachdem ich deinen Beitrag (#4) gelesen hatte, holte ich das mal nach - da steht der Pfad so drin, wie ich ihn aus dem Explorer kopiert habe.
(Den auskommentierten). Also ohne Dateiangabe. Und wenn ich das richtig verstanden habe, sollte in [Request.QueryFields.Values['background'] folgendes stehen.
'background=bgblue.jpg' , respektive eine Liste mit Namen/Werte-Paaren, wenn da mehr als eine Datei vorhanden ist.

Gruss
Delbor
PS:
Zitat:
PS: Ich vermute mal, dass in sfile folgender Inhalt zu finden ist
So ist es...
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 12:07
PS:
Zitat:
PS: Ich vermute mal, dass in sfile folgender Inhalt zu finden ist
So ist es...
Na, dann hast du den Fehler doch schon gefunden ... dann kannst du ja weiter machen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf