Console workArchives Forums/BlitzPlus Programming/Console work
| * I found out that running this code in the regular IDE instead of Protean makes it work. I guess thats something Rob will have to look into. WriteConsole still isn't working but at least AllocConsole doesnt bomb anymore *|
I've been trying to do some Console API work in B+ but the AllocConsole function never succeeds. Is it impossible to create a console window in B+?
WriteConsole%(hConsoleOutput%, lpBuffer$, nCharToWrite%, lpCharsWritten%, lpReserved):"WriteConsoleA"
Local hConsoleOut%, hConsoleIn%
Const STD_OUTPUT_HANDLE = -11
Const STD_INPUT_HANDLE = -10
Const INVALID_HANDLE_VALUE = -1
Ret% = AllocConsole()
If Ret% = 0 Then Notify "Console Allocation Failed"
; // Output
hConsoleOut% = GetStdHandle(STD_OUTPUT_HANDLE)
If hConsoleOut% = INVALID_HANDLE_VALUE Then Notify "Unable to get STDOUT"
; // Input
hConsoleIn% = GetStdHandle(STD_INPUT_HANDLE)
If hConsoleIn% = INVALID_HANDLE_VALUE Then Notify "Unable to get STDIN"
SetConsoleTitle "My Console App"
Output$ = "Hello World"
WriteConsole hConsoleOut%, Output$, Len(Output$), 0, 0
If anyone can figure it out or has an explanation as to why it fails, please let me know.
| Incidentally, I've done a lot of console stuff before. It's a pain in the butt and I wish that BlitzPlus supported reading from and writing to stdin/stdout. Anyway, if you have a specific question in the future, I might have an answer. |
| Thanks for the offer soja, ill let you know if I need anything. If anyone cares, the new version of Protean to be released tommorow will include a "real console mode" option that should solve this issue. |