2009-02-26 4 views
0

Ich versuche, eine andere DLL mit nur Formulare und einige Shell-Methode zu erstellen, um eine externe exe aufzurufen, während meine Hauptform zu tun, um nicht pertubed Art von etwas wie eine Pseudo-Multithreading. Und all diese heilsamen Güte sind in alten vb6 Legacy-App.Best Practice zum Erstellen einer. NET Dll vs VB6 Dll für VB6 Desktop App?

Also ich versuche zu entscheiden, ob ich .net verwenden soll, um die dll oder vb6 zu schreiben, um die DLL zu schreiben. Ist es wichtig, und was ist das Minimum/Ticks oder was ich wissen sollte, bevor ich den Sprung wage?

Dank

Antwort

2

Wenn Sie ein unabhängiges Formular möchten, dann sollte ein ActiveX-EXE ausreichen. Ein unabhängiges Formular ist ein Formular, das angezeigt werden kann und die aufrufende Anwendung wird weiterhin ausgeführt. Die beiden hören sich nicht gegenseitig an. Eine .NET DLL ist in diesem Fall übertrieben.

Wenn Sie etwas benötigen, das traditionelles Multitasking beinhaltet, wie ein Stück Daten zu nehmen und es zu verarbeiten, dann kann eine .NET DLL eine bessere Lösung sein, da das Multitasking direkter ist als die EXE-> Active EXE-Lösung von VB6.

Basierend auf Ihrer anderen Frage fühle ich, dass das Erstellen einer globalen Multi-Use-Klasse, Methoden und Parameter zum Aufrufen der Formulare, die Sie in einem ActiveX-EXE von Ihrer EXE benötigen verfügbar sind, der Weg zu gehen.

Mehr Details würde mir helfen, eine bessere Antwort zu erstellen.

@EDIT NACH KOMMENTAR

dann die verschiedenen Formen und Objekte über die ActiveX-EXE-Übertragung wäre der richtige Weg zu gehen. Dann können Sie die ActiveX-EXE von der ursprünglichen EXE verweisen.

Das einzige Problem ist, ob das, was Sie kopieren, wirklich eigenständig ist. Die gute Nachricht ist, dass Sie, wenn Sie in VB6 bleiben, Probleme sofort bemerken, anstatt sich zu fragen, ob es ein Artefakt des Konvertierungsprozesses ist. Später können Sie sich auf eine Konvertierung in .NET konzentrieren, wenn dies Ihr langfristiges Ziel ist.

+0

@RS für jetzt ist es streng Main exe/form ist ein Editor-Knopf ruft ein anderes Formular-shell eine exe, und zwei von diesen laufen neben der Haupt-exe/form. Bislang benötigte man noch kein Multitasking für diese Kinderformen. Welche anderen Besonderheiten würden Sie brauchen? Vielen Dank! – melaos

0

Ich denke, dies zu your other question verwandt ist? In diesem Fall brauchen Sie nicht wirklich eine DLL - ich denke, Sie haben RS Conleys Antwort falsch verstanden. Hoffe, das hilft, Mark

+0

MarkJ, ich dachte, die Idee wäre, die anderen Sachen in eine DLL zu verschieben, so dass ich nicht mehr meine App zu einer ActiveX-Exe wechseln müsste? Vielen Dank. – melaos

+0

Seit ich das geschrieben habe & du geantwortet hast, hat RS Conley eine Antwort auf diese Frage gegeben - schau dir das an – MarkJ