Entwickler-Ecke

C# - Die Sprache - Problem beim Einbinden und Benutzen einer Schnittstelle


Dresha - Mo 26.05.08 13:58
Titel: Problem beim Einbinden und Benutzen einer Schnittstelle
Ich bin dabei mich in die Schnittstellensoftware von BüroPlus einzuarbeiten. Nun habe ich folgendes Problem. Um auf die Daten von dem Programm über dessen COM Schnittstelle zuzugreifen steht in der Beschreibung folgendes Beispiel für Visual Basic:


Quelltext
1:
2:
Dim Mand
Set Mand = BpNT.DataSetInfos("Mandant").CreateDataSet


ich hab das jetzt wie folgt versucht in C sharp umzusetzen:


C#-Quelltext
1:
object ArtikelDataset = BpNT.DataSetInfos("Artikel").CreateDataSet;                    


Nun bekomme ich aber vom Visual Studio den Fehler:

Der nicht aufrufbare Member "BpNT.IAutoApplication6.DataSetInfos" kann nicht wie eine Methode verwendet werden.


Ich hab dann über den Objektbrowser folgendes zusammen gebaut:


C#-Quelltext
1:
BpNT.IAutoDataSet ArtikelDataset = ((BpNT.IAutoDataSetInfo) BpApp.DataSetInfos.get_Values("Artikel")).CreateDataSet();                    


Das hat mir aber nur eine Null Exception um die Ohren geworfen.


Th69 - Mo 26.05.08 15:42

Wahrscheinlich ist DataSetInfos eine Collection und diese wird in C# mit eckigen Klammern [] angesprochen:

C#-Quelltext
1:
BpNT.DataSetInfos["Artikel"]                    


Und du solltest den Rückgabewert überprüfen, d.h.

C#-Quelltext
1:
2:
3:
BpNT.IAutoDataSetInfo info = BpNT.DataSetInfos["Artikel"];
if(info != null)
   BpNT.IAutoDataSet artikel = info.CreateDataSet();


Dresha - Mo 26.05.08 16:01

Danke für die Schnelle hilfe. ^^

Hab nicht an Collections gedacht... weil ich mich zu sehr auf die Beispielschreibweise festgesetzt hab.

(wobei man beim if noch die geschweiften klammern machen muß sonst motzt Visual studio rum)