Ich hab da mal wieder ein Problem ...
Ich habe folgenden Code um den Versionsstring der "pbcompiler.exe" (hier jetzt unter Windows) auszulesen.
Code: Alles auswählen
EnableExplicit
Procedure.s GetCompilerVersion(File.s = "")
Protected Compiler, result.s
If File <> ""
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
Compiler = RunProgram(File, "/VERSION", "", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write | #PB_Program_Hide)
CompilerDefault
Compiler = RunProgram(File, "--version", "", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write | #PB_Program_Hide)
CompilerEndSelect
If Compiler
result = StringField(ReadProgramString(Compiler), 1, #TAB$)
WriteProgramStringN(Compiler, "END")
CloseProgram(Compiler)
EndIf
EndIf
ProcedureReturn result
EndProcedure
Debug GetCompilerVersion("D:\PureBasic\x64\Compilers\pbcompiler.exe")
Wenn ich nun aber ein Unicode Kompilat erstelle, kommt nur noch Müll...
Wie bekomme ich in einem Unicode Kompilat nun einen vernünftigen Versionsstring ?
Anscheinend ist die Ausgabe des Compilers nur in ASCII (wegen der Console ?) verfügbar...