はじめまして。
VB.Net Express Edition でプログラム開発中です。
必要上 Zlib.dll でZipファイルの圧縮/解凍をする必要が発生しました。
Webを調査して、参考となる技術情報は見つける事ができたのですが、
肝心の Zlib.dllの参照設定方法がわかりません。
参照/追加 で表示されるライブラリの一覧にZlibらしきものが見当たりません。(.Net , Com共に)
私の技術・知識が未熟な事もあるのですが、そもそもExpress Edition故の制限なんてこともあるのでしょうか?
もしお時間ありましたら、アドバイス願います。
【補足】
ちなみに、今回はかくかくしかじかの理由でZlib.dllで開発するしか道がありません。
他の方法でZipファイル操作実現可能なのは存じております。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> Declareの件なんですが、指示というかいわゆるこちらの仕事として開発する上での「開発規約」というもに違反してしまう為です。
それは,
>> 結論から言うと、Declareではないですね。
の根拠ではないです。それが理由であるなら,「Declareではない」ではなく,「事情によりDeclareは使えない」です。
それはおいておくとして,Declareがダメなのか,P/Invokeがだめなのか,どちらですか。
単に前者であるならば,DllImport属性使ってしまえば見た目上Declareはなくなります。やっていることは一緒ですが。
後者であるならば,そもそもzlib.dllの使用自体が規約に反します。
> 加えて外部的なDLLを使用するのが今後運用上問題なしとの断言ができないという見解でもあります。
> つまり、.Netの中だけでクローズする形をとりたいのです。
zlib.dllを使っている以上,.NETの外側へのアクセスになります。
すでに「外部的なDLLを使用する」ということになるのですが。
ところで,「外部的なDLL」とは,どのような範囲を指すのでしょうか。
・単純に.NET Framework再頒布可能パッケージに含まれる
・上記 + J#
・上記 + MS製コンポーネント
・上記 + サードパーティ製コンポーネント
・MSILで動くアセンブリ全て
例えばMSが提供しているものだけで作るのであれば,J#のライブラリであるvjslib.dllを参照設定し,java.util.zipの各種クラスを使うことになると思います。
No.3
- 回答日時:
> 結論から言うと、Declareではないですね。
> .Net なんで。
私が提示したリンクは、「.NET用のDeclare」の解説ページですけど・・・
試したけど駄目だったってことなんでしょうか?
そういえば、
> 参考となる技術情報は見つける事ができたのですが、
って事でしたね。具体的にどういう内容なんでしょう?
> ソース内でも aaa.bbb.ccc.zlib.zip(すいません適当です)
ひょっとして誰か(その技術情報の著者?)が、
zlib.zipをラッピングした、.NET用のクラスを作成している・・・とか・・・
#つまり、そのクラスをインストールしてないと動かないとか・・・
No.2
- 回答日時:
> 結論から言うと、Declareではないですね。
という結論を導き出した根拠は何でしょうか。
VB.NET以降においても,DeclareステートメントはP/Invokeのために残っています。
http://www.winimage.com/zLibDll/
からソースをダウンロードしてみましたが,ファイル中にあるのはC用のファイルでした。
明らかに.NET Framework用のものではありません。
さらに,DLLをダウンロードしてDependency Walkerで覗いてみましたが,通常の関数があるだけのようです。
.NET系のDLLであればあるはずの,mscoree.dllへの参照もありませんでした。
ざっと見ただけですが,zlibを.NETから使うにはP/Invokeで呼び出すものだと,私は見なしました。
なので,#1さんの
> 「参照設定」ではなく、「Declare ステートメント」で宣言して使用するのでは?
が正解だと思います。
お礼が遅れてしまい、大変失礼いたしました。
Declareの件なんですが、指示というかいわゆるこちらの仕事として開発する上での「開発規約」というもに違反してしまう為です。
加えて外部的なDLLを使用するのが今後運用上問題なしとの断言ができないという見解でもあります。
つまり、.Netの中だけでクローズする形をとりたいのです。
貴重なご意見、有難うございました。
No.1
- 回答日時:
「Zlib.dll」って、良く知りませんが・・・
「参照設定」ではなく、「Declare ステートメント」で宣言して使用するのでは?
(http://msdn2.microsoft.com/ja-jp/library/4zey12w …)
この回答への補足
早速御回答いただきまして、有難う御座いました。
結論から言うと、Declareではないですね。
.Net なんで。
ソース内でも aaa.bbb.ccc.zlib.zip(すいません適当です)
のように名前空間でしていします。
最悪COM方式での実現も視野に入れてしらべてみますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- 政治 自衛隊の任期制自衛官(自衛官候補生)という制度は廃止すべきではないでしょうか? 自衛隊に任期制がある 3 2022/11/13 22:26
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IT初心者です 仕事で、vb.netで...
-
意味不明の実行時エラーで困っ...
-
VB.NETで参照設定したDLLの修正...
-
ManagementClassが見つからない。
-
VB.Net リビルド 意味不明なメ...
-
VB2008→VB2010でエラーが出てま...
-
C#ソースをCSCファイルにてコン...
-
ビルドが実行できない 先へ進...
-
Using System.Drawing がうまく...
-
オブジェクト(dll)のレジストリ...
-
VSexpress2010で参照を追加する
-
VB2010で作成したdllからtlbが...
-
VB.NETでDLLを読み込ませる時に...
-
ExcelでVBAで自動参照設定
-
DLLを作成してVBAから使用する...
-
vba 時間の引き算 例えば 15:00...
-
アウトルックが起動しているか...
-
Designer.vbは直接コードをいじ...
-
Visual Studio 「AnyCpu」について
-
excel vbaから実行するexe実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
意味不明の実行時エラーで困っ...
-
ManagementClassが見つからない。
-
IT初心者です 仕事で、vb.netで...
-
VB2010で作成したdllからtlbが...
-
VB.NETで参照設定したDLLの修正...
-
オブジェクト(dll)のレジストリ...
-
ビルドが実行できない 先へ進...
-
VB.Net リビルド 意味不明なメ...
-
VB.NETでDLLを読み込ませる時に...
-
C#ソースをCSCファイルにてコン...
-
DLLを作成してVBAから使用する...
-
SOAP通信。恥を忍んで質問させ...
-
Using System.Drawing がうまく...
-
Excel-VBAでDSOFile.dll使える?
-
Windows10のVBAでDirectX 8が使...
-
msvcr120d.dllがないというエラー
-
MS Visual Studio 6.0のEnterpr...
-
VB2008→VB2010でエラーが出てま...
-
ActiveMovie Control Objectを...
-
ExcelでVBAで自動参照設定
おすすめ情報