
はじめまして、はじめて投稿します。
初心者なので変な質問をしていたらすいません。VB2008を使用しています。
VBで作成したDLLファイルをLabviewで使用したいと思っています。
ただVB6.0でActiveX DLLを作成する方法はわかるのですが、VB2008で作成する方法がわかりません。
クラスライブラリでプログラムを作成し、DLLにすることはできるのです・
しかしレジストリに登録しようと思い「regsvr32 ファイルのパス**.dll」と入力したところ「**.dllは読み込まれましたが、DllRegisterServerエントリポイントが見つかりませんでした」と出ます。
調べてもVB2008でのActiveX DLL作成方法が見つからなくて困っています!!!
わかるかた、よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
GENGUIDはVB2008のインストールフォルダーにあると思いますので
以下の手順でツールに登録してみましょう
ツール > 外部ツール > 追加(A)をクリック
タイトルに『GENGUID』
コマンドの右端の『...』ボタンをクリック
開いたダイアログのフォルダーを1階層上がってToolsを選択
ここに『GENGUID.EXE』があるのでこれを選択して『開く(またはOK)』
初期ディレクトリに コマンド部分の GENGUID.EXEの手前までをコピーして 貼り付け
OKをクリック
といった手順でいいでしょう
返信ありがとうございます!
とてもわかりやすく、手順通りに行うことができました。
ほんとうにありがとうございます。
ただやっぱりレジストリ登録がうまくいかないようです。
No.4
- 回答日時:
#2 です。
ご返信遅くなりましたが、>もともと自分で保存場所を指定しているのですが大丈夫でしょうか?(D:\kenkyu\***等)
>初歩的なことなのかもしれませんが、もしお時間があればもうすこし詳しい説明をお願いできませんでしょうか?
コマンドプロンプトを起動し、
cd C:\Windows\Microsoft.NET\Framework\xxxxx
と入力します(xxxxx は.NET のバージョン番号)。
次に、
regasm.exe (あなたの作ったdllファイルのフルパス) /codebase
でレジストリ登録できますよ。
regasm.exe /unregister (あなたの作ったdllファイルのフルパス)
で解除です。
No.2
- 回答日時:
No.1 さんが詳しい回答をしてくださっているので、レジストリ登録について追記します。
regsvr32 の代わりにregasm.exe を /codebase オプション付きで行ってください。
(C:\Windows\Microsoft.NET\Framework\xxxxx 下 xxxxはバージョン)
厳密な署名をしない場合警告が出ますが、無視しても動作します。
64 bit用ビルド版(x64)を使う場合は、regasm.exe が 32bit 版と同名でも 64bit 専用版で別ファイルになりますので注意が必要です。
お早い回答、ありがとうございます。
えっと、本当に初心者で申し訳ないのですが、
>/codebase オプション付きで
というのがわかりません・・・・
もともと自分で保存場所を指定しているのですが大丈夫でしょうか?(D:\kenkyu\***等)
初歩的なことなのかもしれませんが、もしお時間があればもうすこし詳しい説明をお願いできませんでしょうか?
No.1
- 回答日時:
VB2008のエディッションは何でしょう?
完全なCOMオブジェクトの生成はVB2008では無理なのですが COMとして機能を公開することは可能です
.NET アセンブリとしてライブラリ(DLL)を構築して COMとしてのインターフェースやイベントを公開するといったやり方です
詳細は VB2008付属のMSDNで
『チュートリアル : Visual Basic 2005 での COM オブジェクトの作成 』
などを検索してみてください
1) Windows用のクラスライブラリプロジェクトを新規に作成
2) メニューから プロジェクト > 新しい項目の追加 > テンプレートで『COMクラス』
3) 必要なプロパティやメソッドを追加
4) コンパイル
5) ライブラリをテストするWinEXEプロジェクトを実行
といった形でライブラリが登録されると思います
テンプレートの『COMクラス』がない場合は
1) クラスライブラリとしてプロジェクトを作成
2) メニューから プロジェクト > (クラスライブラリの)プロパティ > アプリケーションタブの『アセンブリ情報(Y)』をクリック > 『アセンブリをCOM参照可能にする』にチェック
3) コードウィンドウで
Public Const ClassId As String = ""
Public Const InterfaceId As String = ""
Public Const EventsId As String = ""
を記述しておき
ツール > GUIDGEN を実行 4の『Register Format』を選択して COPY
VBに戻って
Public Const ClassId As String = "" の ""の中にキャレット(カーソル)をおいて Shift+Insertで貼り付け { }を削除
同様の手順で InterfaaceIdやEventsIdを設定
4) 必要なプロパティやメソッドを構築
といった手順で行ってみてください
regsvr32による登録/解除葉出来ないようですが ・・・
お返事、ありがとうございます!早くてびっくりしました!!
>VB2008のエディッションは何でしょう?
VB2008 Express Editionというものを使用しています。
テンプレートの「COMクラス」が見つからなかったので2つ目の方法を行おうと思ったのですが、「アセンブリをCOM参照可能にする」をチェックするところまではできました。
でも3)からがよくわからなくて、
>コードウィンドウで
のコードウィンドウとはプログラムを書く箇所でいいんですか?
>ツール > GUIDGEN を実行 4の『Register Format』を選択して COPY
とありますが、メニューのツールに上記のようなものがありません。
わたしの設定方法がおかしいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- その他(OS) OBSが起動できません 3 2022/03/30 12:21
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- その他(コンピューター・テクノロジー) パソ粥が壊れてしまい。 新しく買ったパソコンに Amplitued5 Max をダウンロードインスト 1 2022/05/22 00:33
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exeファイルはどのdllを参照す...
-
C/C++の.libについて教えてくだ...
-
error LNK2019: 未解決の外部シ...
-
'stdafx.h'のエラーに関して
-
WindowsにおけるPostgreSQL+C言...
-
python エラー
-
DLLファイルの逆コンパイラにつ...
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
VBAを何回も作り直して、容量が...
-
アプリケーションのDLLファイル...
-
外部依存関係について
-
” OS ビルド ” の意味が分か...
-
Excelのエラーで困ってます。
-
C言語でヘッダファイルにグロー...
-
Eclipseのブレークポイントが○...
-
実行後にコンパイルに失敗しま...
-
VB2008で定数に色の設定をした...
-
<math.h>ヘッダを入力している...
-
すべてのリビルド: 0 正常、 0 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタティックリンクライブラリ...
-
スタティックライブラリ関係の...
-
C++Builder リンカエラーとは?
-
visual studio community2017 O...
-
【VS2008 C++】2つのプロジェ...
-
fatal error LNK1104: ファイル...
-
「MFCを使用しない」から「MFC...
-
#pragma commentの相対パス指定
-
静的/動的リンクライブラリにつ...
-
C/C++の.libについて教えてくだ...
-
VS2010にて、依存関係とビルド順
-
C++によるPostgreSQLの接続
-
WindowsにおけるPostgreSQL+C言...
-
'stdafx.h'のエラーに関して
-
C言語のPathFileExistsについて
-
eclipse+MinGWの環境で外部ライ...
-
VC++でビルド時の、リンク警告 ...
-
exeファイルはどのdllを参照す...
-
error LNK2001: 外部シンボル "...
-
#include <winreg.h>をインクル...
おすすめ情報