und es kommt noch besser. Offensichtlich ( ich hab 2k ) scheint unter win xp gar keine Eingabe aufzutauchen, das Fenster schließt sich einfach wieder. Hab ich irgend ne Message vergammelt ?
also was noch nicht tut ist ConsoleIn:
Delphi-Quellcode:
Function ConsoleIn(var F: TTextRec): Integer;
var
Msg:TMsg;
s: string;
begin
s:='';
ConsoleWin.proto.AddLine('_',BackgroundColor,TextColor);
while GetMessage(msg,0,0,0) do // aufhängen^^
begin
if msg.message = WM_CHAR then
begin
Case msg.wParam and $FF of
8: begin
if length(s) <>0 then setlength(s,length(s)-1);
end;
13: break;
else s := s + chr(msg.wParam);
end;
ConsoleWin.proto.AddLine(s,BackgroundColor,TextColor,true);
end;
if IsWindowVIsible(msg.hwnd) then
begin
TranslateMessage(msg);
DispatchMessage(msg);
end
else
break; // bis das Konsolenfenster geschlossen ist
end;
ConsoleWin.proto.AddLine(s,BackgroundColor,TextColor,true);
Move(s[1],F.BufPtr^,length(s));
///F.BufPos := ???;
///F.BufEnd := ???;
Result := 0;
end;
kann mir jemand sagen wie ich die BufPos und BufEnd Variablen setzen muss ? Und wieso bricht bei XP der Message Loop ab ? wenn es überhaupt so weit kommt ( es also schon vorher abbicht )