Invalid Stream Handle bei exe
Übersicht

![]() |
AMYBetreff: Invalid Stream Handle bei exe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich brüte seit Tagen über einem Code der in der IDE mit und ohne Debugger Fehlerfrei läuft. Allerdings wenn ich daraus eine exe erstelle kommt jedes mal die Fehlermeldung "Invalid Stream Handle".
Die TrawlFolder Funktion habe ich von blitzbasic.com ( https://www.blitzbasic.com/cod...p?code=625 ) Vielleicht findet von euch ja einer einen Fehler. Ich benutze Windows 10. Denke mal aber nich das es daran liegt, andere Programme laufen ja auch einwandfrei. Hier mal der Code Code: [AUSKLAPPEN] ; B+ program to populate a treeview gadget with folders and files
; Author: Assari ; Created: 16th March 2003 ; Edited by: Amy ; Last Edit: 1st June 2017 Global window=CreateWindow("SaveDirStructure2",0,0,800,600,Desktop(),1+2+4+8) treeview=CreateTreeView( 0,0,ClientWidth(window),ClientHeight(window),window ) SetGadgetLayout treeview,1,2,2,2 root=TreeViewRoot( treeview ) Global node,SaveFile Commandliner$=CommandLine() If Len(Commandliner)>0 Then LoadTree(CommandLiner,Root) SetStatusText window, "Laden erfolgreich" Else folderlist$=RequestDir("Pls Select Folder") If Folderlist="" Then End Filename$=RequestFile("Save Tree","tree",1) If Filename="" Then End SaveFile=WriteFile(Filename) If folderlist$>"" And Right$(folderlist$,1)="\" Then ;remove any \ folderlist$=Left$(folderlist$,Len(folderlist$)-1) EndIf node=AddTreeViewNode(FolderList$,root) TrawlFolder(FolderList$,"root","",node) SetStatusText window, "Fertig" CloseFile SaveFile EndIf ExpandTreeViewNode node CollapseTreeViewNode node Repeat WaitEvent() If EventID()=$803 Then End Forever End Function LoadTree(Filename$,rootnode) currentParent=rootnode Local LastParentCount Local LastParent[99] file=ReadFile(Filename) Repeat FoF=ReadByte(file) Name$=ReadLine(file) Select FoF Case 3 CurrentParent=LastParent[LastParentCount] LastParentCount=LastParentCount-1 Case 2 LastParentCount=LastParentCount+1 LastParent[LastParentCount]=currentparent node=AddTreeViewNode(">"+Name$,CurrentParent) CurrentParent=node Case 1 node=AddTreeViewNode(Name$,CurrentParent) End Select Until Eof(file) End Function Function TrawlFolder(CurrentPath$, CurrentParent$, Pattern$, ParentNode, FromFunction=0) If CurrentParent$="root" Then CurrentParent$=CurrentPath$ xPath$=CurrentPath$ Else xPath$=CurrentPath$+"\"+CurrentParent$ EndIf hDir = ReadDir(xPath$):If hDir=0 Then Return ;no more folders Repeat File$=NextFile(hDir) If File$="" Then If FromFunction=1 Then WriteByte SaveFile,3 WriteLine SaveFile,".." EndIf Return ;no more files EndIf Select FileType(xPath$+"\"+file$) Case 2 ;folder If Not (file$="." Or Right$(file$,2)="..") Then node=AddTreeViewNode(">"+file$,ParentNode) WriteByte SaveFile,2 WriteLine SaveFile,file TrawlFolder(xPath$,File$,Pattern$, node,1) ;recursion required here EndIf Case 1 ;file node=AddTreeViewNode(file$,ParentNode) WriteByte SaveFile,1 WriteLine SaveFile,file End Select SetStatusText window, CurrentParent$+"\"+file$ ;just to let the world know we're working WaitEvent(1):If EventID()=$103 And EventData()=27 Then Return;Escape route Forever End Function |
||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du dir den Inhalt von Commandliner$ mal ausgeben lassen? Der ist vllt. anders abhängig davon, ob das Programm aus der IDE gestartet wird oder als .exe
MfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich nicht ich mach das immer so. aber Selbst wenn es was anderes ausgibt sollte das Programm doch zumindest starten wenn nichts per commandline übergeben wird.
Ich kann aber gerne morgen früh es mal ausprobieren wenn ich wieder am Laptop bin. (Bin grade auf arbeit) |
||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
![]() |
Cykid |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es funktioniert ausschließlich dieser Code nicht? | ||
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab den Fehler gefunden ist mir allerdings dennoch ein Rätsel.
Es handelt sich dabei nur um BlitzPlus, Blitz3D funktioniert weiterhin wie gewohnt. Das Problem besteht nur bei jetzt kompilierten exe Dateien. Ältere funktionieren weiterhin wie gewohnt. Die Commandline gibt mir jetzt immer erst ein leerzeichen und dann die commandline aus. Somit gab auch beim normalen starten der exe ohne übergabe einer datei die Commandline ein Leerzeichen zurück. Daher musste ich das abschneiden der commandline nur anpassen. Code: [AUSKLAPPEN] If Len(Commandliner)>1 Then
LoadTree(Mid$(CommandLiner,3,Len(Commandliner)-3),Root) |
||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group