Beispiele für Ext. Func. in c#

Automatische Abläufe Zeitgesteuert oder bei Ereignissen.
DvCC ist das mächtigste Backend Instrument von David.

Leider auch am schlechtesten Dokumentiert.

Beispiele für Ext. Func. in c#

Neuer Beitragvon gast » Do Nov 03, 2005 6:11 am


Hallo, ich such Beispiele wie man dlls in c# erstellt, die dann in dvcc
angesprochen werden können.

Vielleicht kann mir da jemand einen Tip geben

Gruss

Dieter Sand
gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm

Advertisement

Re: Beispiele für Ext. Func. in c#

Neuer Beitragvon gast » Mo Mai 01, 2006 4:05 pm


Guten Abend.

Es ist zwar etwas ungewöhnlich nach so langer Zeit zu antworten, aber in
dieser Newsgroup tut sich sowieso nicht so viel.

Ich fürchte mit C# ist dies nicht möglich. Das es sich nicht um eine
COM-basierte Schnittstelle handelt, bei der der Port via COM und dann via
CCW (COM Callable Wrapper) mit der DLL interagieren kann. Es muß tatsächlich
eine "native" DLL sein.

Problem dabei: C# produziert "Managed Code", d.h. Code in IL (Intermediate
Language). Der Port bzw. DVCC müßten schon die .NET Runtime hosten, um die
DLL aufrufen zu können. Da er das nicht tut, scheidet dies von vorn herein
aus.

Nun gabe es zwei denkbare Auswege, doch C# Code schreiben zu können und dies
als Ext.Function. aufzurufen:

1) Eine "native" DLL mit C/C++ oder Delphi schreiben, die als Mediator
zwischen der sog. "unmanaged"- und der "managed"-Welt vermittelt.
Diese DLL, die ihrerseites eine Instanz des Framework lädt, dann die
"managed Code" DLL lädt und die Funktion aufruft, bzw. sich das Ergebnis
zurückgeben läßt und dann seinerseites dem Port/Script/DVCC das Ergebnis
zurückgibt.

Auch wenn dieser Weg sehr umständlich scheint, er ist keineswegs unwegbar.
Nehmen Sie z.B. Microsoft Office. Office selbst ist ebenfalls in "unmanaged"
Code geschrieben, kann seinerseits aber sog. Add-Ins laden und ausführen,
die in "managed" Code z.B. in C# oder VB.NET geschrieben sind.

2) Es gibt eine Möglichkeit in DVCC JavaScript-Dateien aufrufen und
ausführen zu lassen. Andererseits gibt es in JavaScript die Möglichkeit
andere Schnittstellen im System aufzurufen via COM. In "managed Code" (also
C#, VB.NET, u.s.w.) kann man COM-Komponenten erstellen. Ein möglicher Weg
wäre also:

(1) C#/VB.NET: DLL schreiben und in COM registrieren
(2) DVCC -> Ruft JavaScript auf
(3) JavaScript -> Ruft via "new ActiveXObject()" die erwähnte COM Komponente
aus (1) auf

Lösung 1 erscheint mir in der Softwarearchitektur etwas besser, wohingegen
Lösung 2 wahrscheinlich leichter zu implementieren wäre.

Fazit: Die Funktionalität in C/C++, Delphi direkt zu schreiben stellt den
besten Weg dar. Alternativ überlegen Sie doch mal ob Sie nicht mit
JavaScript zurandekommen, bevor Sie versuchen einen der beiden begannten
Lösungen zu versuchen.

-Martin Ehrlich

schrieb im Newsbeitrag news:2594799839@news.tobit.com...
Hallo, ich such Beispiele wie man dlls in c# erstellt, die dann in dvcc
angesprochen werden können.

Vielleicht kann mir da jemand einen Tip geben

Gruss

Dieter Sand


gast
 
Beiträge: 0
Registriert: Mo Jun 01, 2009 12:08 pm


Zurück zu DvCC-Scriptprogrammierung

 


  • { RELATED_TOPICS }
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast