![]() |
TFileStream.Create: nicht unter Win2k?
Erstmal ein herzliches Hallo an alle...
Ich hab da mal eine kleine Frage. In meinem Programm beutze ich TFileStream.Create(Datei,fmOpenRead), um eine Datei zu öffnen und einzulesen. Bei mir funktioniert das wunderbar. Aber bei meinem "Tester" komischerweise nicht. Er hat Win2k und ich WinXP. Hat das irgendwas damit zu tun? Die Dateien lassen sich bei ihm nicht öffnen. Egal welcher Art. Selbst eine einfache Textdatei nicht. Sie werden auch nicht von einem anderen Programm verwendet. Das haben wir bereits geprüft. Er hat mir die Dateien mal geschickt und bei mir geht alles einwandfrei. Hat irgendjemand eine Idee dazu? Vielen Dank, Gina. PS: Ich benutze Delphi 6 Prof. |
Re: TFileStream.Create: nicht unter Win2k?
Hat er Lese- / Schreibrechte auf die Datei? Was kommt als Fehlermeldung?
|
Re: TFileStream.Create: nicht unter Win2k?
Vielleicht ist die Pfadangabe falsch, oder die Datei existiert zu diesem Zeitpunkt noch gar nicht.. Wo liegen diese Dateien denn? Wenn sie im Programmverzeichnis liegen, reicht der Dateiname als Angabe.
|
Re: TFileStream.Create: nicht unter Win2k?
Hallo,
Lese-/Schreibrechte sind vorhanden. Die Pfade stimmen auch, da er die Dateien über ShellTreeView/ShellListView auswählt. Er hat die Dateien auch schon in das Installationsverzeichnis des Programms kopiert, was aber auch nix brachte. Und wie gesagt, bei mir funktioniert es ja ohne Probleme. Als Fehlermeldung kommt meine, die ich per try/except eingebaut habe, aber ich kann das natürlich mal rausnehmen, um die "echte" zu sehen... Irgendwelche Besonderheiten für Win2k gibt es also nicht? Vielleicht müssen da bestimmte uses rein, oder dürfen nicht drin sein? Vielen Dank erstmal, Gina. |
Re: TFileStream.Create: nicht unter Win2k?
Zitat:
Delphi-Quellcode:
ShowMessage(SysErrorMessage(GetLastError));
|
Re: TFileStream.Create: nicht unter Win2k?
Also ich muss sagen, dass ich wirklich sehr beeindruckt bin, wie schnell man hier Antworten bekommt... :thumb: Echt supi...
Meine Fehlermeldung heißt: "Kann Datei nicht öffnen" und die kommt, wenn er fmOpenRead nicht ausführen kann. Zusätzlich wir die Datei mit vollständigem Pfad ausgegeben, so dass ich diesen auch kontrollieren kann. Ich hab ihm jetzt eine Version mit
Delphi-Quellcode:
geschickt.
ShowMessage(SysErrorMessage(GetLastError));
Ich melde mich gleich, wenn das Ergebnis kommt. Achso: Bei ShellCrtls wird mir angezeigt, dass dies plattformspezifisch sei. Konnte allerdings in der DH nix finden, für welche Plattformen die nutzbar ist? Wo finde ich so etwas? Tausend Dank schonmal, Gina. PS: Wieso ist eigentlich mein Nick immer unterstrichen? :oops: |
Re: TFileStream.Create: nicht unter Win2k?
Plattform spezifisch bedeutet, dass die enthaltenen Routinen nur unter Win32 oder Linux zur Verfügung stehen bzw. funktionieren.
|
Re: TFileStream.Create: nicht unter Win2k?
[ot]GINA ist nicht nur ein Nick, sondern auch noch ein (wichtiger) Begriff in Computerkreisen, deshalb wirds unterstrichen. Fahr mal mit der Maus drüber, dann bekommst du den Begriff erklärt ;)[/ot]
|
Re: TFileStream.Create: nicht unter Win2k?
Ich glaubs ja nicht... :wall:
Zitat:
Also muss ich bei den Pfaden suchen. Bloß was ist daran falsch? So etwas wie "C:\Daten\test.txt" ist doch nix besonderes. Keine Umlaute nix. Kein Backslash zu viel... *hilfe* Was kann ich noch tun, um den Fehler zu finden? :cry: Vielen lieben Dank Euch, Gina. @ Dax: hmm, irgendwie bekomme ich, seit ich registriert bin, gar nix mehr angezeigt, wenn ich mit der Maus drüber fahre. Ist das irgendwo eine Einstellung? EDIT: Ok, jetzt gehts, lag wohl an einem der Programme, die ich offen hatte. Wußte gar nicht, dass ich eine eigene dll habe :oops: |
Re: TFileStream.Create: nicht unter Win2k?
Dazu gibt es keine Einstellung im Forum, das muss an deinem Browser liegen... Welchen benutzt du denn? Bei Firefox funktionierts, beim IE auch.
|
Re: TFileStream.Create: nicht unter Win2k?
Sind Leerzeichen im Pfad, dann musst du ihn in Hochkomata einschließen.
|
Re: TFileStream.Create: nicht unter Win2k?
Moin!
Füge ansonsten mal dem fmOpenRead noch ein "Or fmShareDenyNone" hinzu. MfG Muetze1 |
Re: TFileStream.Create: nicht unter Win2k?
@ Dax: Ich benutze den IE. Ist aber nicht so wild. Sobald ich nix anderes offen habe, bekomme ich die Sachen auch angezeigt... Liegt wohl an SP2 oder woran auch immer...
@ Luckie: Hab versucht, Hochkommata hinzuzufügen, aber irgendwie stelle ich mich dabei wohl zu blond an :oops: Jetzt sagt er mir, dass die Syntax für Dateinamen oder Pfade nicht stimmen würde. Wie genau muss ich die reinsetzen please? @ Muetze1: Ok, das hab ich auch noch hinzu gefügt. Dazu hab ich gleich mal ne Frage: Laut Delphi-Hilfe ist dieser Parameter optional, zusätzlich und auf Windowssystemen würde er ignoriert werden. Andererseits sehe ich öfter, dass er durch OR verknüpft angegeben wird. Kannst du mir das mal please erklären? Das Ergebnis der abgeänderten Version werd ich bestimmt erst morgen bekommen. Also vielen lieben Dank allen erstmal, Gina. |
Re: TFileStream.Create: nicht unter Win2k?
Zitat:
Delphi-Quellcode:
sie sagt doch er bekommt den Dateinamen von einem ShellTreeView etc
Var MyFS:TFileStream;
Procedure DoFileOp(Datei:String); begin Try myFS:=TFileStream.Create(Datei,fmopenRead); try // mach was mit dem Stream... finally myFS.Free; end; Except ShowMessage(SysErrorMessage(GetLastError)); end; end; DoFileOp('"C:\Dokumente und Einstellungen\The-X\Daten.txt"'); und nicht über ParamStr(1) z.b. :roll: [edit] ein ' vergessen :roll: [/edit] :mrgreen: |
Re: TFileStream.Create: nicht unter Win2k?
Zitat:
|
Re: TFileStream.Create: nicht unter Win2k?
Liste der Anhänge anzeigen (Anzahl: 1)
Ähm so weit ich weiss werden die " nur bei der Parameterübergabe benutzt
oder machst du bei jeder Procedure die eine Datei öffnet foo('"'+Dateiname+'"'); ? kleines Beispiel:
Delphi-Quellcode:
führt nämlich genau DAZU:
Memo1.Lines.LoadFromFile('"C:\BOOT.INI"');
Zitat:
|
Re: TFileStream.Create: nicht unter Win2k?
Genau die Fehlermeldung bekomme ich auch :cry: Es ist echt zum Mäusemelken...
Aber unabhängig davon dürfte es ohne Hochkommata doch kein Problem sein, wenn keine Leerzeichen im Pfad vorkommen, oder? Ich glaub ich geh erstmal ins Bettchen. Vielleicht träum ich ja was passendes... :wink: Danke vielmals, Gina. |
Re: TFileStream.Create: nicht unter Win2k?
macht mal die gänsefüßchen da weg
|
Re: TFileStream.Create: nicht unter Win2k?
Moin!
Zitat:
Und das mit OR ist eine einfach logische Verknüpfung, da diese Konstanten meist Bits wiederspiegeln. Näheres dazu findest du im Tafelwerk, in der Online Hilfe oder im Internet (logische Operationen). Auch hier im Board sollte sich dazu was finden lassen. MfG Muetze1 |
Re: TFileStream.Create: nicht unter Win2k?
Hallo,
achso, dann habe ich das in der Delphi-Hilfe völlig falsch verstanden. Ich dachte der Parameter Rights wäre fmShareDenyNone etc. Ich hätte diesen Abschnitte wohl noch ein paar Mal mehr lesen sollen: Zitat:
Das logische ODER an sich ist mir bekannt. Wie gesagt, ich dachte das wäre der zweite Parameter, den man ja durch Komma getrennt angibt und hab mich deshalb über das Or gewundert. Zum Öffnen-Problem: Ich habe heute ein neues Projekt gemacht und nach und nach die einzelnen Teile eingebaut. Und was soll ich sagen? Bisher fehlerfrei bei meinem Tester. Dann liegt das Problem also nicht an dem fmOpenRead, sondern irgendwo völlig versteckt... :gruebel: Damit wird die Fehlersuche wohl noch etwas dauern. Vielen lieben Dank für Eure Hilfe. Ich hab vieles dabei gelernt... :wink: Ich halte Euch auf dem Laufenden, nun feiert aber erstmal schön, bis bald, Gina. |
Re: TFileStream.Create: nicht unter Win2k?
Da bin ich wieder,
ich hab den Fehler gefunden. Der Pfad wurde tatsächlich falsch übergeben, allerdings nicht beim einlesen der Datei, sondern beim speichern... *peinlich* :oops: Manchmal sieht man echt den Wald vor lauter Bäumen nicht... Ich danke Euch ganz dolle für die Hilfe, hab ja schließlich einiges gelernt dabei. Liebe Grüße und weiterhin frohes Feiern, Gina. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 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