• ベストアンサー

dll の違い

VC++ Ver.6 で作った dll file が BC++ 5.0 でつくったソフトから うまく読み込めません この 2つのコンパイラで作った  dll file にある違いは何でしょうか。

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

VB向けのDLLをVCで作ったことあるけど、 関数の頭に _declspec(dllexport) と __stdcallを付けること。defファイル定義することが必要でした。

参考URL:
http://www.h4.dion.ne.jp/~fht/htmkdll/
uyama33
質問者

お礼

アドバイス有り難うございます。 参考にして変更してみます。 結果は後ほど報告いたします。

uyama33
質問者

補足

LoadLibrary("***.dll"); GetProcAddress( hDll, "########"); を使って読み込めました。 お世話になりました。 ありがとうございます。

関連するQ&A

  • DLLについて

    VC++でDLLを作成しようとしているのですがいくつか判らない点があります。 1. スタティックライブラリとスタティックリンクライブラリの違い。この二つの用語の違いが分かりません。 2.VBからVC++で作成したDLLを使用するときには.libファイルは必要ないのでしょうか。使用しなくても、使うことができたので。

  • DLL の中の関数呼び出し

     Windows NT workstation Ver4.0 の上で、ボーランドC++ Ver5 を使って、owl を使ったソフトを作っています。  メーラーを作ろうとして、blatj のソースコードを組み込んでいます。 その中で、gensock.dll を読み込んで、その中の関数を呼び出すところがあるのですが、関数のエイトりーポイントが NULL で返ってきます。  自作した他の DLL については、関数の呼び出しは、 順調なのですが、この gensock.dll については上手くゆかないのです。  そこで、 ボーランドのDLLと、マイクロソフトのDLLでは 呼び出し方にどのような違いがあるのでしょうか?  Win API を使ってみても  TModule を使ってみても 同じような現象が起きています。  解決方法は gensock.dll のソースコード を使ってボーランドのコンパイラでDLLを作り直す以外には無いのでしょうか?

  • リソースのみのDLLの作り方と使い方

    複数のJPEGファイルをDLL化して、ダイアログベース(VC++6)のアプリケーション上 で表示したいのですが、DLLってどうやって作成していくのでしょうか?

  • DLLの違いについて

    MFC AppWizard(dll)で作成したDLLとWin32 Dynamic-Link Libraryで作成したDLLの違いは何でしょうか?客先に「MFCで作ってないんですか?」と聞かれて何が違うのかなと思いまして。不慣れなものですみません。

  • C++BuilderやDelphiでVC++用のDLLの作成

    C++Builderの画面から新規作成からDLLウィザードを選ぶと、VC++スタイルのDLLを選択して作成できるようになっています。VC++用のDLLを作成出来るとは書かれていません。実際、VC++コンパイラからリンクを拒否されます。 また、VC++用のインポートライブラリをCOFF形式からBorland用のOMF形式に変換するユーティリティCOFF2OMF)は存在していますが、OMF形式をCOFF形式に変換する手法を見かけません。 変換方法を書いているWEBや雑誌記事とかを紹介してください。

  • 1つのDLLにソースを1500個ほど追加してビルドを行なったところ..

    1つのDLLにソースを1500個ほど追加してビルドを行なったところ vc60.idbが 35MBぐらいになり、以下のようなエラーが表示されてビルドが止まります。 環境:Visual C++ 6.0 x:\xxxx.cpp(19) : fatal error C1073: インクリメンタル コンパイルを伴う内部エラーが発生しました(コンパイラ ファイル '.\main.c', 行番号 629) xxxx.CPP vc60.idb削除すると、エラーが表示されなくなり最後までビルドが行なわれます。 よい知恵などありましたら、よろしくお願いいたします。

  • VCで作成したDLLの使用

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

  • VC2005のDLLのフォーマットについて

    VC2005 DLLファイルについて質問です。 巷には、DLLに登録されている関数名とか見れるツールが あるのですが、それらってどうやって作ってるんでしょうか。 DLLのヘッダ情報、ファイル構造など、どこかのサイトで公開 されてるのでしょうか?もし、知ってる方がいらっしゃったら、 興味があるので教えて頂けないでしょうか。

  • どっちのDLLのバージョン?

    OSはWindowsXP。 コンパイラはVC++6.0 with MFCという環境です。 CTreeCtrl::InsertItemの引数にTVINSERTSTRUCTというのがあり、そのメンバに Version 4.71 itemex という記述がヘルプにあります。 このバージョン4.71の意味がわからず調べたところ、 Comctl32.dll Version 4.71 以上 Windows 98 以降 / Windows 2000 以降 または Internet Explorer 4.0 以降をインストールした Windows 95 / NT 4.0 という環境で動作するというところまでは、わかりました。 そこで、エクスプローラで、Comctl32.dllを探し、右クリックして、バージョン情報のタグを選択すると、詳細-項目で、「ファイルバージョン」と「製品バージョン」の二つのバージョンがあることに気づきました。 この場合、Version4.71以上というのはどちらのバージョンのことを指しているのでしょうか?

  • VC++でdllを取り込む方法

    VC++で既存のDLLファイルを自分のプロジェクトで使う方法はどのようにしたらいいのでしょうか?

専門家に質問してみよう