Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

VB 6.0 dll schreiben um "Hülle" um ein C-Programm zu legen??

LuckyMB / 3 Antworten / Baumansicht Nickles

Hi, ich habe folgendes Problem. Ich habe ein C-Programm (Quelldateien) vorliegen und möchte dieses über ein von mir in VB 6.0 geschriebenes Programm steuern. Hierzu soll es möglich sein eine dll zu verfassen die eine Art "Hülle" um das C-Programm bildet.

Ich bin zwar kein totaler VB Anfänger, jedoch habe ich noch nie eine dll verfasst die eine solche Funktion erfüllt. Hierbei muss ja auch beachtet werden das die Typen in C und VB unterschiedlich sind (String (VB) = char[] (C)).

Ich hoffe ihr könnt mir helfen
THX im vorraus.

bei Antwort benachrichtigen
thomas woelfer LuckyMB „VB 6.0 dll schreiben um "Hülle" um ein C-Programm zu legen??“
Optionen

etwas genauer mussts du schon werden... im wesentlichen legst du halt ein c dll an und definiertst einen eintrittspunkt. der kommt dann in den deklarationsteil von vb, und dann kannst du das ding aufrufen...

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
LuckyMB Nachtrag zu: „VB 6.0 dll schreiben um "Hülle" um ein C-Programm zu legen??“
Optionen

Also das Problem ist folgendes. Ich habe mehrere C-Quellcodedateien (.c) die dazu dienen Messwerte einzulesen, auszugeben, andere routienen zu starten usw. Das ganze ist eine Simulation einer Waage (in C geschrieben). Nun will ich ein Programm in VB schreiben das diese Simulation steuert. Nun muss ich also eine Hülle bauen die diese .c und die Headerdateien einschliest, so das die Simulation über VB steuerbar ist. Ich will nicht die ganzen Quellcodedateien in VB nachbilden, weil es da eine möglichkeit geben soll, eine dll in VB zu schreiben, sodass ich dadurch dann die C-Dateien über VB steuern kann. Das habe ich zumindest mal gelesen. Ich hab allerdings keine Ahung wie ich das angehen soll ?

Ich hoffe ich habe das Problem einigermaßen schildern können?

Grüße
Marc

bei Antwort benachrichtigen
thomas woelfer LuckyMB „Also das Problem ist folgendes. Ich habe mehrere C-Quellcodedateien .c die dazu...“
Optionen

... wenns mit vc++ gemacht ist, dann ist der einfachste weg ein automation interface zum programm hinzuzufügen. (siehe das automation tutorial in der online-hilfe).

wenns einfach nur ein c programm ist wirst du das nicht mit einer vb dll loesen koennen, dann brauchst du eine c dll. die muss dann interface definieren die man von aussen aufrufen kann. wenn du z.b. schonmal von vb aus eine windows api aufgerufen hast 'declare....' dann ist das genau der weg den du da auch gehen musst, allerdings musst du das aufzurufende interface eben selbst erzeugen.

wenn der c code mit vc ++ uebersetzt werden soll, dann ist der einfachste weg der, ein dll projekt anzulegen und dann fuegst du die aufzurufenden funktionen da ein. die versiehst du dann mit einem 'dllexport' statement - danach kannst du die dinger im prinzip einfach von vb aus aufrufen, zumindest dann, wenn die interfaces keine typen verwenden die vb nicht hat.

sofern die sache nicht zeitkritisch ist wuerde ich aber grundsaeztlich den ansatz per automation empfehlen, denn der ist am einfachsten.

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen