K
Martin Richter schrieb:
Das hake mal ganz schnell ab. Eine DLL mit MessageLoop?
Das kann doch nicht gehen.
Der STA Thread in dem die MessageLoop läuft muss autark sein. Deshlab ist eine Windows GUI Applikation hier genau der richtige Ansatz!
Gerade weil die Events asynchron letzten Endes die Message Loop benötigen kann Dein DLL Ansatz nur in die Hose gehen...
Außer Du möchtest die Funktion aus der DLL aufrufen und sie kehrt nicht zurück.
Oder Du musst das ganze in der DLL in einen eigenen Thread auslagern. Aber auch hier ist eine MessageLoop im Stile eine Windows UI Programmes der richtige Ansatz.
Wenn Du jetzt straucheslt einen char* nach System::String zu konvertieren wünsche ich Dir weiterhin Happy Coding.
HOW TO: Convert from System::String* to Char* in Visual C++ .NET
http://support.microsoft.com/?kbid=311259
Naja, ich musste erstmal wissen das LPCTSTR ein char* ist, ich bin damals von den Grundlagen von C++ direkt auf C# umgestiegen und dort fühle ich mich auch wohl. (C++ nie richtig ausführlich gelernt)
Bloss leider musste ich in diesen Fall wieder zurück und da merkt man halt, wenn gewisses Wissen einfach nicht vorhanden ist.
Die DLL wird quasi die komplette Sprachverbindung regeln und nur Events an das aufrufende Programm zurückgeben, damit dort auf eventuelle Verbindungsabbrüche reagiert werden kann.
War wie gesagt unter DotNET alles kein Problem, man muss sich halt mit vielen Sachen nicht herumschlagen, hat zwar nicht alle Freiheiten, aber es reicht meistens doch aus.
Naja, werde mal weiterarbeiten, eventuell ist gleich Mittag, ein Kollege hat Pizza mitgebracht ^^.
Gruß
Florian