Einzelnen Beitrag anzeigen

FoxOne

Registriert seit: 24. Mai 2007
Ort: Wien
7 Beiträge
 
#5

Re: OleServer: Kein CoClass-Create, kein ConnectTo?

  Alt 25. Sep 2008, 13:08
Danke für die Informationen (ich weiss, es ist für einen Insider sicher eine blöde Frage). Alles verstehe ich leider nicht, aber ich will einmal die genauen Umstände erklären.

Ich erhielt zur Programmierung eines Messystems eine API in Form eines (einer?) dll und eines Manuals. Das System erfordert die Bearbeitung von vielen Events, weil die Bestätigung von Messparameteränderung von mir durch Events erfolgen. Dabei gibt es auch viele Fehlerquellen, die sich physikalisch bzw. hardwaretechnisch nicht so einfach erzeugen lassen, aber für meine Mess-Software sehr wichtig sind. Um das zu testen, dachte ich, ich baue einfach dieses dll nach und setzte dahinter ein simuliertes System. Dadurch kann ich die Fehler selber erzeugen und testen, ob die Mess-Software richtig darauf reagiert.

Alles, was ich bisher von COM, tlb etc. weiss, habe ich mir dafür kürzlich erarbeitet und bin nun in der Lage, mit solchen Dingen wie Enums, IEnumVariants und Events umzugehen. Ich muss aber zugeben, dass es mir in dieser Zeit nicht ganz gelungen ist, das 'Gesamtbild' zu verstehen.
Zum Beispiel kann ich mir den genannten Unterschied beim Create nicht erklären. Die CoClass-Deklaration findet sich durchaus in der tlb:

Delphi-Quellcode:
CoDatServer = class
    class function Create: IDatServer;
    class function CreateRemote(const MachineName: string): IDatServer;
end;
Aber in meinem Messprogramm muss ich das nicht aufgerufen (dort wie erwähnt reicht DatServ:=TDatServer.create), sehr wohl aber in meinem Nachbau.

Und wie das kommt, hätte ich gerne gewusst.
  Mit Zitat antworten Zitat