こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

参照設定ができない

VB5.0SP3で自作DLLの参照設定を行おうとすると
次のようなメッセージが出て設定できません
「指定されたファイルへの参照は登録できません」

DLLはC言語で作っていてコンパイルはVC++6.0SP6で
行っています

VCのコマンドでコンパイルして作ったDLLとプロジェクトを作成してビルドして作ったDLLでもだめでした
どうすれば参照設定が出来るようになるのでしょうか?

ソースは次のようになっています
a.defの内容:
LIBRARY a
EXPORTS
int2byte

a.cの内容:
#include <stdio.h>
#include <string.h>
#include <windows.h>

#define DLLEXPORT __declspec(dllexport)

union {
shorts;
charc[2];
} ib;

DLLEXPORT int __stdcall int2byte(short a, char* b){

ib.s= a;
b[0]= ib.c[0];
b[1]= ib.c[1];

return 0;
}

makefileの内容:
CC= cl
SHLD= cl /LD
CFLAGS= /nologo /O2 /GR- /GX-
LDFLAGS= /nologo
LIBS=
.c.obj:
$(CC) $(CFLAGS) -c $*.c
a.dll: a.obj
$(SHLD) /o $@ $(LDFLAGS) a.obj a.def $(LIBS)

投稿日時 - 2005-03-01 15:48:58

QNo.1244858

すぐに回答ほしいです

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

VBで参照設定できるDLLは、ActiveXのみです。

spenさんが作られたDLLはActiveXではありませんので参照設定できません。

Declareステートメント記述して使用するDLLです。

投稿日時 - 2005-03-01 16:04:47

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

一応補足。

>VBで参照設定できるDLLは、ActiveXのみです。

正確に言うとActiveXじゃなくてもいいんですけど、タイプライブラリというのが必要になります。

投稿日時 - 2005-03-01 16:24:56

お礼

ご回答ありがとうございます。
おかげさまで何とかなりそうです。

私がネットで調べた範囲には「ActiveXのみ」と書いている所が無かったので、ご回答の内容が直ぐには分からりませんでした。
試しに参照設定せずに動かしてみた所、私がCで作った関数の呼び出しをエラーも無く通過しました。それでやっと分かりました。
まだちゃんとデータの受け渡しが上手く出来ているか不明ですが、何とかなりそうです。

ありがとうございました

投稿日時 - 2005-03-01 17:16:20

あなたにオススメの質問