Laden...

Wie kann ich die aktuelle Zeit von C/C++ über COM interop an C# übergeben?

Erstellt von sindibad vor 3 Jahren Letzter Beitrag vor 3 Jahren 402 Views
S
sindibad Themenstarter:in
110 Beiträge seit 2012
vor 3 Jahren
Wie kann ich die aktuelle Zeit von C/C++ über COM interop an C# übergeben?

Hallo, ich benutze in ein C program eine c# dll über com interop.
ich habe jetzt einen neuen Datetime property in c#. wie kann ich aus C program den aktuellen Zeit an c# datetime übergeben?

in C habe ich folgenden Code:


Storage::IDataSetEntryPtr entry = NULL;
hr = entry.CreateInstance(__uuidof(Storage::DataSetEntry));

entry->StringProperty= "29347823948";

time_t 	tNow;								
struct tm* ptrTM;  					

tNow = time(0);
ptrTM = localtime(&tNow);

//entry->TestTime = (DATE)mktime(ptrTM); // führt zu com Exception
entry->TestTime = tNow; // // führt zu com Exception
 

mit strings und Zahlen funktioniert aber mit datum habe ich noch keine Lösung.
ich überlege jetzt die time property als String zu definieren und zu übergeben und in c# nach datetime umzuwandeln

16.806 Beiträge seit 2008
vor 3 Jahren

Siehe Doku: geht nicht.

Man übergibt nen Double und verwendet dann DateTime.FromOADate bzw. umgekehrt mit der entsprechenden DateTime.ToOADate-Methode.