
Der folgende Code ergibt einen Fehler:
Code: Alles auswählen
;/Ermittlung des Dateipfades
;/[Value.s] = GetPath(#False/#True) | Temp-/Aktuelles Verzeichnis
Procedure.s GetPath(Verzeichnis.b)
Buffer.s = Space (255)
Select Verzeichnis
Case #False
GetTempPath_(255,Buffer)
Case #True
Buffer = Left(Buffer, GetFullPathName_("*", 255, Buffer, ""))
EndSelect
ProcedureReturn GetPathPart(Buffer)
EndProcedure
BasePath.s = GetPath(#True)
;BasePath.s = "C:\"
If OpenWindow(0, 0, 0, 200, 100, "TestGadget", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
StringGadget(1, 10, 10, 180, 80, BasePath)
EndIf
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
2) Wird die Variable erst mit GetPath(#True) gefüllt und dann mit "C:\", so wird der Fenstertitel korrekt wiedergegeben, aber das erste Zeichen (C) im Gadget wird nicht richtig wiedergegeben.
3)Lasse ich GetPath(#True) weg und füll die Variable nur mit "C:\" so funktioniert es.
4) GetPath(#False) funktioniert.
Warum Wieso Weswegen?
