• ベストアンサー

VBとCの統合

VisualBasicで書いたプロジェクトとCで書いたプロジェクトは統合できるのですか? 具体的に言いますと、VBプロジェクト内 → Cプロジェクトを呼び出・実行 → VBプロジェクトに戻る(可能であれば戻り値も受取る) といった流れになります。 これは可能でしょうか? もし不可であるなら、C#で書いたプロジェクトとCで書いたプロジェクトは統合可能でしょうか? 現在システム作成中で、私が作ったのはVBで、組み込みたいのがCです。。。どうかよろしくお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

一般的な「統合」は難しいでしょう。 (1)C言語で作成したDLLをVBで呼び出すことは可能です。 (2)C言語で作成したCOMオブジェクトはVB、C#で使用可能です。 (3)VB、C#、Cで作成したOCXは他のプロジェクトで使用可能です。 (4)VB、C#、Cで作成したEXEは他のプロジェクトから実行可能です。 DLLやCOMをVBやC#でできるか経験が無いので不明ですが、 作れるならば、これも他のプロジェクトで参照可能になります。 私の経験ではVBを主たるプロジェクトにして、CでDLLを作成して 対応したことがあります。DLLを作るCのプロジェクトはVBのとは 別のものです。

関連するQ&A

  • VB5.0からVB6.0への移行について

    VB5.0からVB6.0への移行について プログラマー初心者です。 VB5.0で作成したプロジェクトを、VB6.0で開くと、 【'C:\...\marquee.ocx'を読み込めません。--プロジェクトのロードを続けますか?】と 【'C:\...\raocx32.dll'を読み込めません。--プロジェクトのロードを続けますか?】の メッセージが出力されます。 "marquee.ocx"と"raocx32.dll"は、ともにWebサイトよりダウンロードして、 'C:\WINDOWS\system32'に保管しましたが、認識しません。 コマンドプロンプトで、 'regsvr32 marquee.ocx'を実行させましたが、 【"marquee.ocx"は実行可能ファイルではないか、 またはこのファイルのヘルパが登録されていない可能性があります。】 というメッセージが出力されます。 "marquee.ocx"と"raocx32.dll"を読み込ませたいのですが、 方法を教えてください。 宜しくお願い致します。

  • VS2008でVBとC++を一つのプロジェクトにすることができますか?

    VB6.0からの移行組です。現在VB6.0をメインにしてVC++6.0で作ったdllをVBで呼んでいます。VBでデバッグ中にC++で作ったdll内にバグがあった場合にどこにバグがあるかわからず不便です。 VS2008ではVBとVC++を一つのプロジェクトにまとめる事ができますか? そうすればデバッグ中にVBとVC++のコードを一連の流れで動かしてやれば、どこがおかしいのか分かりやすくて便利なんですが。 (C++がコンパイル型だから無理かな・・・) 素人な質問ですみませんがよろしくお願いします。

  • アプリケーションの作成方法について

    お世話になります。 VB2005でのアプリケーションの作成方法を教えてください。 たとえばマスタ画面が5画面、トランザクション画面が10画面、帳票作成画面が5画面ほどあるシステムの場合、 プロジェクトは1つで作るものなのでしょうか。それともソリューション内でいくつかのプロジェクトに分けて作るものなのでしょうか。 1つのプロジェクトの場合は、各画面の呼び出しはShowDialogで呼び出せばよいと思いますが、プロジェクトを分けると実行ファイルがその数だけできますよね。それぞれの呼び出しはShellで呼び出すのですか。 ただ、VB2005で作成した実行ファイルは起動が遅いということをよく聞きますので、呼び出すたびに時間がかかるのではそれも困ります。 実際に作成していらっしゃる方、どのようにしていらっしゃるのか教えてください。よろしくお願いします。

  • VB6から#C or .NET VB どちらが易しい? OS or 言語

    マシンが64bit対応なので VisualBasic6から #Cか .NET VBに書き換えて64bitで動作するように検討しています。 VS2005 Proは購入済みで、OSはWindowsXP x64 proか Windows2003を検討しています。どちらがよいかわかっていないのですが、まず最初にプログラムをどちらにコンバートするか悩んでいます。 いっそC#の方が将来性があるのでしょうか? また、.NET VBの方が書き換えが簡単でしょうか? 以前、VB6のプロジェクトファイルを開こうとしたら なんか変換したような気かしましたが、フォームやメインが無かった?ようなへんてこなCが出来上がりました。 VBからの移行された方でどちらを選んだのか知りたいです。

  • VB2005でデバッグ実行できない

    VB2005で[新しいプロジェクト]-[VisualBasic]-[Windowsアプリケーション]で 新規プロジェクトを作成しただけの状態から、ビルド、デバッグ実行すると 以下のエラーが表示され、デバッグ実行できません。 プロジェクトを実行しようとしているときにエラーが発生しました: (省略) 要求された操作には管理者特権が必要です。 Debugフォルダの中のexeファイルにはUACの盾アイコンがついています。 今まで特に気にせずアプリケーションの作成ができていたと思うのですが なぜか急にこのような現象に陥りました。 対処方法を教えてください。 環境:OS=Windows7 Pro    :VisualStudio2005

  • VBで作成した実行形式の戻り値を作成したい

    VBで作成した実行形式の戻り値を作成したいと考えています. たとえば,A.exeという実行形式をVBで作成します. このA.exeを別のプロジェクトでshell関数などで起動します. 処理が終了した時に, A.exeの処理が成功した場合に1 A.exeの処理が失敗した場合には0を返すようにしたいと考えています. 可能でしょうか? 環境:Windows2000+SP3 Visual Basic 6.0+SP5

  • VB.NET → C#にすべき?

    現在、会社の基幹業務はホストコンピュータが中心です。 サブシステム(本気ではない部分)はWindowsサーバで十分。 サブシステムにおいて、VisualBasic.NETを使って開発しています。 .NET構想は以下の通りと理解しています。 ⅰ.使用できるプログラムによってパフォーマンスは意識しない。 ⅱ.いつかWindowsOS以外でも動く(MONOは例外) 現状で満足しているのですが、例えば将来、ある事情でJAVAで開発しなければならないという状況になったとき、使用言語をVBではなくC#にしておけば、たとえコーディングレベルだけでも差異を吸収できたのに…ということを危惧しており、乗り換えようか悩んでいます 。 乗り換えても、ⅰの通りだろうし、ⅱは相変わらず期待できそうにないのは分かっているつもりですが、たくさんのご意見を拝借したいと思ってます。 よろしくお願いします。

  • Windoes7にVB6をインストールし、VB6.exeを起動すると

    Windoes7にVB6をインストールし、VB6.exeを起動すると 「システムの設定が不正なため、VisualBasicを起動できませんでした。入力が間違っているか登録されていません。VBTEMPL.TLB」 との表示が現れ実行できません。 解決方法、どなたかご存知ありませんでしょうか。

  • vb2008でのクラスライブラリ実行に関して

    vb2008でのクラスライブラリ実行に関しての質問なのですが、 クラスライブラリで以下の内容のプロジェクトを作成しました。 プロジェクト名:TEST ファイル名:TEST1.vb '~プログラム内容~ Module D01001B Public Function Main(ByVal CmdArgs() As String) As Integer     'バッチの処理内容 End Function End Module このバッチをデバックしたいのですが、どうやらクラスライブラリは 単体ではデバックできないらしくどうすればできるのか困っています。 調べてみると新しいプロジェクトでWindowsフォームアプリケーション を選択し、フォームからボタンを押して実行する方法があるとの ことなのですがどのように記述したらよいかわかりません。 できればどのように記述すれば実行(呼び出し)できるのか教えていただけないでしょうか? 以上

  • Visual Studio .NET C# でDLLを作成し、VB.N

    Visual Studio .NET C# でDLLを作成し、VB.NETで呼び出す初心者向けのサンプルについて  現在、Visusal Studio .NET C#でDLLを作成して、それを、VisualBasic.NETのWindowsアプリケーションで呼び出す簡単なプログラムを作成したいと思っているのですが、書籍をあたってもなかなか参考になる書籍がみつけられなく、サンプルのサイト又は、自分でそのようなプログラムを作成している人にぜひご教授願いたく、質問させていただきました。当方、初心者ですので、何卒宜しくお願いいたします。

専門家に質問してみよう