Frage

fyi 1: udf= benutzerdefiniert (Arbeitsblatt) Funktion FYI 2: XLL= Excel Add-In (DLL -> XLL)

Ich schreibe ein XLL-Add-In für Excel in C / C ++ mit der EXCEL4-API von Microsoft.
Link: http://msdn.microsoft.com/de-us/Bibliothek / BB687835.Aspx

Ich habe eine "komplizierte" Aufgabe, die ich mehrere Threads für eine bessere Leistung verwenden möchte.Während ich verstehe, dass die Berechnung in Excel 2003 ein einzelnes Gewinde ist, möchte ich wissen, ob meine UDF (a) Threawn-Threads zu arbeiten, (b) warten, bis die Threads abgeschlossen sind, und (c) das Ergebnis zurückgeben.

.

Um sehr klar zu sein, werde ich keine Excel-Automatisierung durchführen oder Excel4 () in den Threads anrufen.

pseudo-code:

generasacodicetagpre.

Auf der Oberfläche erscheint dies in Ordnung, aber ich bin kein Experte für DLLs / XLLs und eingewinde.

p.s.Ich habe Google (High and Niedrig) für diese Antwort durchsucht und kann nichts von der Angelegenheit finden.

War es hilfreich?

Lösung

Sie können so viele Threads beginnen, wie Sie möchten, und warten Sie auf sie.Es gibt auch Unterstützung für Async UDFs in der neuesten Version der API.Einige Beispiele finden Sie in http://xll.codeplex.com .Schauen Sie sich test / async.cpp an: http://xll.codeplex.com/ Saurecontrol / änderung / ansicht / 14528 # 139508

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top