• ベストアンサー

DLLの作成手段はありますか?

X4RRの回答

  • ベストアンサー
  • X4RR
  • ベストアンサー率62% (5/8)
回答No.3

何もDeclareで関数を宣言しなくても参考URLのサイトを参考に作れば 参照設定だけでグローバル関数同様に扱えます(^^;

参考URL:
http://www.imall.itss.ac/vbi/Column.htm
Juanjo
質問者

お礼

たびたびありがとうございます。 考えすぎなのかな~・・・とは思いますが、クラスの底なし沼にはまりつつあります(^^; しばらく研究してから出直します。 参考URLは非常にありがたかったです。

関連するQ&A

  • VB2008でのDLL作成方法について

    はじめまして、はじめて投稿します。 初心者なので変な質問をしていたらすいません。VB2008を使用しています。 VBで作成したDLLファイルをLabviewで使用したいと思っています。 ただVB6.0でActiveX DLLを作成する方法はわかるのですが、VB2008で作成する方法がわかりません。 クラスライブラリでプログラムを作成し、DLLにすることはできるのです・ しかしレジストリに登録しようと思い「regsvr32 ファイルのパス**.dll」と入力したところ「**.dllは読み込まれましたが、DllRegisterServerエントリポイントが見つかりませんでした」と出ます。 調べてもVB2008でのActiveX DLL作成方法が見つからなくて困っています!!! わかるかた、よろしくお願いいたします。

  • VB6で作成したDLLをVC6で使用する方法

    VB6で作成したDLLをVC6で使用できなくて困っています。 以下にトライしたことを示します。 (1) VB6でTRUEを返すだけの関数を入れたActiveX DLLを作成 (2) VC6のLoadLibraryに成功(戻り値がNULL以外) (3) VC6のGetProcAddressに失敗(戻り値がNULL) (4) VC.NET付属のDumpbinユーティリティでは(1)で作成した関数が表示されない。 何が悪いのでしょうか。 宜しくお願いします。

  • VB6からVC6で作成したDLLの関数を呼び出すときに注意すること

    VB6からVC6で作成したDLLの関数を呼び出すときに、型について気をつけないといけませんが、VB6でint型のものはVC6ではshortにしないといけないのでしょうか?マシンやOSや開発環境(例えばVS2005やGCC)により違ってくるのでしょうか? VB6とVC6でやり取りする場合の型について知りたいです。 あと、ActiveXのDLLの場合は関数にアクセスするのではなく、COM(という概念がわかっていないのですが)を使うのですか?

  • ActiveX DLL と ActiveXコントロールの違い

    VB6で開発をしています。 複数のEXEファイルを使用するシステムです。 各EXEファイルの共通のモジュールをライブラリ化しようと思っています。 これは [ActiveX DLL] 又は、[ActiveXコントロール] のどちらでも実現できると思うんですが、どちらで作成した方が良いのでしょうか? それぞれのメリット、デミリットを教えて下さい。

  • VB6でバイナリ互換でDLL作成するには?

    VB6.0にてActiveX DLLで開発をしたいのですが、 プロジェクトのプロパティ.コンポーネントにてバイナリ互換を選択すると バージョン互換コンポーネントを設定できません。というエラーメッセージが出て、 DLLを作成できません。 プロジェクトはフォーム1画面、標準モジュール複数、クラスモジュールで構成されています。 DLL作成手順のアドバイスをお願いします。 もう1点、 ある程度、開発できたら単体テストを行います。 その際は現場で用意されているテスト起動画面を使用するように言われたのですが、 この方法だと自分の担当画面に修正を加えるたびに下記1~3の作業を行う 必要があると思うのですが、もっとスマートな方法はないのでしょうか? 1.修正したプロジェクトを保存してdllを作成する。 2.作成したdllを所定の場所(現場で指示された場所)に格納 3.テスト起動画面からそのdllを指定して単体テスト

  • VB6.0 ExeとDllの違い

    いつもお世話になっております。 今更ながらなのですがVB6.0について質問させて下さい。 新規でVB6.0を起動すると、「標準Exe」・「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」等がでてきますよね? 普段アプリを開発する時は「標準Exe」しか使用しないのですが、「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」の違いは何なのでしょうか?(どういうときに使い分けるのでしょうか?) ActiveXDll・・・ソースコードのみ?参照設定する?(クラスやモジュールと何が違うのでしょうか?) ActiveXコントロール・・・独自のコンポーネント(部品)を作る?(OCXのようなものでしょうか?) ActiveXExe・・・(一番分かりません) どなたかご教示お願いします。

  • VC++6.0からVBで作成したActiveX.DLL内の関数が呼出しできない

    VB6.0で作成したActiveX.DLLをVC++6.0(Win32SDK)側で 呼び出すプログラムを作成中です。 VB側(DLL)では問題なく作成できています。 Classに1つPublic関数を作成しただけです。 (Instancingは5MultiUseにしてあります) しかし、VC++側の呼出しでDLL内の関数が 呼び出せないのです。 LoadLibraryExでDLL自体のハンドルは取得できるのですが GetProcAddressで関数の取得時にNULLが返ってきてしまいます。 今まで試したことは ・VBからの呼出しはOK ・MFCだとOK ・SDKでもuser32.dll呼出しのサンプルは関数も実行できる です。 今からMFCへ以降するのは厳しいのでSDkでの方法を 知りたいです。 VB側が悪いのかもしれませんが、関数1つですし、 いじるところもほとんどないので多分VC++側だと 思っています。 なにか注意点とか確認するところをおしえていただければ 幸いです。 環境 Windows2000 SP3 VB6.0 SP5 VC++6.0 SP5 Win32SDK

  • VB 2008 DLL作成の方法

    当方Visual Studio 2008のVB、C++で開発をしています。 VS2008のVBでクラスライブラリとして作成し、ビルドをしてDLLを作成したのですが、 対となるLIBファイルがどこにも見当たりませんでした。 VS6.0のVBではLIBファイルも作成されました。 VS2008のVBでLIBファイルを作成する方法をご存知の方いらっしゃいましたら教えてください。 LIBファイルを使用する理由は、VBで作成したDLLをC++に組み込むときにリンクさせる為です。 ※今回はLoadLibrary関数を使わず、LIBファイルを使おうと考えています 以上、宜しくお願い致します。

  • mfc42.dllファイルってなんですか?

    こんにちは。 最近、プログラムの勉強をしている物ですが、例えばVBであるシステムを開発して、SetUpを作った際に、色々なプラットフォームで検証するのですが、mfc42.dllというファイルが絡んだエラーが良く出ます。 そもそも「mfc42.dll」とは何でしょうか? OSインストール時に最初から入っているものなのでしょうか? dllファイルとはダイナミックリンクライブラリの事で、OSが色んな時に使用する共通の関数が詰まっている、VBでいう標準モジュールのようなものの事ですよね?(合ってますか(^^;)?) mfc42.dllがそうなら、どういうときに使用されるのでしょうか? また、Aというソフトをインストールした後で、Bというソフトをインストールして、互いのmfc42.dllの更新日時(バージョン?)が違う場合、Bをインストールする事によってAが動かなくなる・・・というのもありえるのでしょうか?? だとしたらとても怖い事ですよね!? でもSetUp作成ソフトやVB標準のディストリビュージョンでSetUp.exeをつくると勝手にmfc42.dllが紐付かれてしまう場合が多々あります。 これを回避する方法はあるのでしょうか? どなたかご教授下さい。

  • VCで作成したDLLの使用

    VCで作成したDLLの使用 VC6.0で作成されたDLLファイルを使いたいのですが _stdcallで記述されたものではなく DllMainで記述されたものなのですが、 VBから呼び出す事は可能でしょうか? 普通にdeclare functionで呼び出そうとすると、 「エントリfnchogeがDLLファイル hoge.dll内に関数が見つかりません。」 とエラーがでるだけでした。 VB6.0SP3 Windows2000