Hallo Zusammen,
ich bin neu hier und habe ein Problem mit Umwandlungen.
Ein Kollege von mir hat in Labview 10 eine DLL erstellt.
Und zwar wird darin eine Excel Datei gelesen.
Über Baustein Worksheet ist ein Range Baustein angeschlossen.
Darüber liefert Value2 ein Variant.
Diesen Variant möchte ich jetzt gerne in c# auslesen.
Habe es mit folgenden Code versucht:
Code:
public static extern void XLS_Read_Var(char[] path, char[] cell, ref Object value2);
private void btnOpen_Click(object sender, EventArgs e)
{
OpenFileDialog fdlg = new OpenFileDialog();
fdlg.Filter = "Excel|*.xls";
if (fdlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
String temp = "A";
Object value2 = temp;
char[] path_1 = fdlg.ToString().ToCharArray();
char[] cell_1 = { 'A','1'};
XLS_Read_Var(path_1,cell_1,ref value2);
txtCell_1.Text = (String)value2;
Wobei Path der Pfad zur xls Datei ist und cell die Zelle.
Bei ihm erscheint in Labview auch der Text.
Aber meine Variable value2 wird plötzlich nach dem Aufruf zu Null.
Wenn er mir einen anderen Wert als Variant übergibt, z. B ein String ("Hello Welt") kann ich diesen Variant problemlos auslesen.
Was läuft da falsch? Liegt das an den OLE Objekten Worksheet/ Range die intern was anderes liefern und brauche ich da andere Datentypen oder Konvertierungen in c# ?
Wäre für jeden Tip sehr dankbar!
Viele Grüße
Sunny