Hallo:)
Nachdem mir die schnelle Umsetzung des huffman codes zu kompliziert wurde, wollte ich mich an nen
leightweight-chat machen, der über ne Konsole läuft, um nicht den ganzen overhead von der vcl zu
haben.
als Chatprotokoll wollte ich mir ein ganz einfaches auf tcp/ip basierendes Protokoll bastelln.
Das ganze ist auch nicht das Problem...mein Problem ist, dass TClientSocket, dass ich dafür verwenden
wollte, anscheinend Fensterorientiert ist. Also lass ich mir ein Handle erstellen:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49:
| unit messagehandler;
interface uses Windows, Messages, Classes;
type TMessageHandler = class(TObject) private hwnd: Hwnd; procedure WndProc(var Msg: TMessage); public constructor Create; destructor Destroy; function FReadHandle: Hwnd; property Handle: Hwnd read FReadHandle; end;
implementation constructor TMessageHandler.Create; begin hwnd := Classes.AllocateHWnd(WndProc); end;
destructor TMessageHandler.Destroy; begin Classes.DeAllocateHwnd(hwnd); end;
procedure TMessageHandler.WndProc(var Msg: TMessage); begin if msg.Msg = WM_USER +1337 then begin writeln( 'message: WM_USER + 1337 (', msg.Msg, ') WParam: ', msg.WParam, ' LParam: ', msg.LParam ); end; end;
function TMessageHandler.FReadHandle; begin result := hwnd; end;
end. |
Nur was jetzt? Create will ein Tcomponent...was ist das jetzt wieder? aus der Hilfe
bin ich nicht wirklich schlau geworden:(
grez