| |
|
|
Thomas Zielinski | Grüßt euch, Ich hab ein Problem mit LoadFile$ und weis nicht weiter. Wenn man in folgendem Beispiel auf "Laden" klickt und eine Datei auswählt, wird ganz normal der Pfad gespeichert und die Größe der Datei ausgegeben. Klickt man nun nochmal auf "Laden" und wählt diese Datei aus, so erzählt mir mein XProfan8 dass es die Datei nicht finden kann. Das tritt aber nur auf, wenn man die Datei mit Assign öffnet. KompilierenMarkierenSeparierenDeclare but&,e%,file$
cls
but& = Create("Button",%HWnd,"Laden",0,0,100,25)
e%=0
WhileNot e%=1
WaitInput
If GetFocus(but&)
file$ = LoadFile$("Laden:","Bitmaps|*.bmp")
MessageBox(STR$(FileSize(file$)),"INFO",4096)Bei zweitem aufruf wird hier der fehler angezeigt
Datei nicht gefunden.
Assign #1, file$aber nur wenn die 2 Zeilen hier stehen
Hier die ueblichen dateiarbeiten
Close #1
EndIf
Wend
End
|
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 22.07.2008 ▲ |
|
|
|
|
| XProfan8? Weil XProfan10 macht da keine Probleme... |
|
|
| |
|
|
|
Paul Glatz | xprofan 10 free macht keine probleme |
|
|
| |
|
|
|
Michael Dell | Hallo Thomas,
setzt mal folgende MSB hinter den LoadFile() Dialog. KompilierenMarkierenSeparieren%IOResult meldet ab dem zweiten mal Fehler 103 (Datei nicht geöffnet). Interessant ist das durch diese zusätzliche MSB mit %IOResult- Abfrage kein Fehler mehr gemeldet wird. |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 22.07.2008 ▲ |
|
|
|
|
Michael Dell | Nachtrag: Des Rätsels Lösung, setze Close nie ohne ReSet / ReWrite oder OpenRW ein! |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 22.07.2008 ▲ |
|
|
|
|
Michael Dell | Ich frag mich grad wieso nachfolgende Versionen sich da nicht beschweren? |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 22.07.2008 ▲ |
|
|
|
|
Dietmar Horn |
Das tritt aber nur auf, wenn man die Datei mit Assign öffnet.
@Thomas: Mit assign "öffnet" man keine Datei, sondern weist dem Dateinamen lediglich eine Dateikennung zu (#1, #2, ...). In Deinem Code fehlt Irgendwas in Richtung reset, rewrite, append, usw.
Bin gleich ab 14.00 Uhr im NATZ HY [...] wegen neuem XProfan-Schnupperkurs - kannst ja mal vorbeischauen, wenn Du Bock drauf haben solltest. . Das ist bestimmt nur mal wieder ein klitzekleiner dropsmäßiger Schusselfehler Deinerseits in Deinem restlichen Code ...
Gruß Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 22.07.2008 ▲ |
|
|
|
|
RGH | Michael Dell
Ich frag mich grad wieso nachfolgende Versionen sich da nicht beschweren?
Ich vermute mal Folgendes:
Es wird einer Dateinummer mit Assign #n,Name$ ein Dateiname zugewiesen. Dann wird die Datei, ohne dass sie je mit OpenRW, Reset, Append oder Rewrite geöffnet wurde mit Close #n bzw. CloseRW #n geschlossen. Der Versuch, eine nicht geöffnete Datei zu schließen, führt natürlich zu einem I/O-Fehler, der die Systemvariable %IOResult auf ungleich 0 setzt.
Wenn nun ein weiterer I/O-Befehl folgt, der möglicherweise sogar fehlerfrei funktioniert, bleibt die Variable in älteren XProfan-Versionen trotzdem gesetzt. Also gibt es die beanstandete Fehlermeldung. %IOResult wird durch Auslesen zurückgesetzt, deshalb ist das Problem weg, sobald die Messagebox-Zeile im Programm ist. Man sollte also nach jedem Befehl, der %IOResult setzen könnte, %IOResult auf einen aufgetretenen Fehler hin abfragen.
In neueren XProfan-Versionen komme ich vergesslichen Programmierern entgegen und setze bei entsprechenden Befehlen %IOResult vorher zurück, sodass auch dann ein nach dem Befehl gesetzes %IOResult auf einen Fehler im letzten Befehl hinweist.
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 22.07.2008 ▲ |
|
|
|
|
Thomas Zielinski | Irgendwo stand mal was von Minimalbsp.!(Welches unter P8 nich geht) Ich verwende dann ein OpenRW und glaube das da der Hund begraben liegt. RGH hat mich aber mit CloseRW #n auf eine Idee gebracht. Gruß Thomas.
Da liefert man ordnungs gemäß ein kleines Beispiel und dann ist es zu klein. |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 22.07.2008 ▲ |
|
|
|
|
Thomas Zielinski |
mal wieder ein klitzekleiner dropsmäßiger Schusselfehler
Jup! Close durch CloseRW ersetz und es klapt. Sowas muss man erstmal gesagt bekommen. Danke dann mal! Gruß Thomas |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 22.07.2008 ▲ |
|
|
|
|
| Thomas Zielinski
...Da liefert man ordnungs gemäß ein kleines Beispiel und dann ist es zu klein.
Tja! Ein Minimalbeispiel muss ja kein "kleines Beispiel" sein - sondern ist vermutlich manchmal sogar riesig! |
|
|
| |
|
|
|
Michael Dell | @Roland: Alles klar! Wieder was gelernt. |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 23.07.2008 ▲ |
|
|
|