Com Schnittstelle anbinden
-
Kann mir bitte jemand helfen!
Wie kann ich in C++ die Com-Schnittstelle bzw. die API anbinden? eine Dll habe ich...
p.s. kenne mich nicht so gut mit C++ aus, ehe mit C#, da war es wesentlich einfacher...
Danke!
-
Hallo,
welche Klassenbibliothek gedenkst du zu verwenden?
-
Es ist eine API von einem Software Tool die hat eine eigene Bibliothek. Die Beispiele in diese API sind in Visual Basic, das hilft mir gar nicht.
Alle Methoden sind da, aber keine Header Dateien...
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
OPENCOM Öffnen der seriellen Schnittstelle Parameter: Zeichenkette als nullterminierter String Rückgabe: Bei Fehler 0. Deklaration in Java: public static native boolean opencom(String param) throws PortDLLWrapperException; Deklaration in C/C++: typedef int (CALLBACK* LPFNDLLFUNC)(char*); char szFuncName[] = "OPENCOM"; Deklaration in Delphi: Function OPENCOM(S:PCHAR):Integer; stdcall; external 'port.dll'; Deklaration in VB und VBA: Declare Sub OPENCOM Lib "Port" (ByVal A$) Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer Hinweis: Die Zeichenkette wird direkt Windows übergeben. Unter Windows 95/98/NT ist folgender Aufruf möglich: OPENCOM "COM2: baud=19200 data=8 parity=N stop=1" Unter Windows 95/98 funktioniert auch: OPENCOM "COM2,19200,N,8,1" ...
Das ist ein Auszug aus einem Beitrag zur Port.dll und RsApi.dll (nach port.dll anwenden googeln).
Das Umschreiben von VB-Deklarationen in C/C++-Deklarationen ist auch von MS beschrieben worden. In der MSDN und in den Hilfen zu VC.
Blackbird
-
So wirds kompiliert und die Methoden sind da. die Verbindung zum Server erfolgt trotzdem nicht:(
Kann jemand weiterhelfen?
wie werden eigentlich die Exceptions in COM abgefangen?
Danke!Konsolenanwendung:
#import "APILIB.dll" rename_namespace("US") named_guids no_auto_exclude
#include <comdef.h>
#include "stdio.h"
int main(int argc, char* argv[])
{US::ConnectionPtr g_td;
try{
HRESULT hr = g_td.CreateInstance(US::CLSID_Connection);
g_td->InitConnection("servername");
g_td->ConnectProject("","","");// g_td->InitConnection("servername", "", "");
} catch(_com_error e){
printf("COM ERROR");
}return 0;
}MFC_Dialog (.exe)
#include "APILIB.h"
void CTDDLL2Dlg::OnConnect()
{Connection* itdc = new Connection();
try{
itdc->InitConnectionEx("servername");
itdc->ConnectProject("", "", "");
CString sname = itdc->GetServerName();
LPDISPATCH ldsp = itdc->GetProjectsList();
}catch(...){
}
}