• ベストアンサー

VB5.0のocx?について

AKARI0418の回答

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

OSのAPIを使用してダイアログを使用しているからではないでしょうか? いっそ外観すべてをXPスタイルにしてみてはどうでしょうか? マニフェストファイルを作るだけですのでさほど難しくはないはずです。 http://hanatyan.sakura.ne.jp/index.html を参考になさってみてください。 OCXはSystemのフォルダに追加すればたいていは動くと思いますが、保障はできません。

musashi228
質問者

お礼

ご回答ありがとうございました。 外観についてではなく、開発時に使用できない ということだったようです。 参考URLなど、ありがとうございます。 勉強になりました。

関連するQ&A

  • OCXについて教えてください。

    お世話になります。 カテゴリが違っていたらすいません。 システム開発の一部で、サーバーにデータをFTPさせるアプリをVB6で作りました。私の上司の希望でVBランタイムをユーザーにインストールさせる手間は省きたいとのことで、必要最低限のOCXをsystem32フォルダにコピーして(実際はバッチ処理)動かせるかを検証しておりました。 あるPC(win2k server,office2k有)に、ちょうど同じ名前(COMDLG32.OCX)のOCXが存在しているのですが、バージョンが5.1で1つ下でも有り、実行できませんでした。このOCXにコピーを行っているバージョン6.0のOCXを上書きしても問題はでませんでしょうか?? ちなみに、ファイルサイズも10KBほどバージョン6.0の方が大きいです。 もっと大きく枠を広げて言いますと、基本的にWindows系であれば、前のバージョンを踏襲しているものと考えていいでしょうか??

  • VBで作成したOCXでバージョンが異なるのエラーが出ます

    VB6.0(SP5)+Windows2000(SP4)の環境です VBでAcitveX OCXを作成しましたが、使用する他のアプリケーションをディストリビューションウイザードでセットアッププログラムを作成し、他のPCへインストールすると「OCXのバージョンが古い可能性がある。最新のバージョンを入手してください」となりインストールができません VBでAcitveX OCXの作成では、2度目のコンパイルからバイナリ互換を指定しています 開発環境では、全て正常に動作するのですがインストール時にエラーとなります OCXを使用するアプリケーションは何度もコンパイルしていますが、OCXは随分前からコンパイルしていません 市販のOCXのように、system32にコピーしてregsvr32で登録するだけにしたい場合には、何を気をつければよろしいのでしょうか? OCX作成の指南をお願いします 宜しくお願いします

  • VB2005でOCXを動的に呼び出すには?

    お世話になります。 当方の環境はWinXP SP2,VB2005Proです。 現在作成中のアプリで、とあるCOMコンポーネントを使っているのですが、 どうやら そのOCXが自由配布は出来ないようで、依頼元から 「OCXがインストールされている場合のみ、それを使用する機能を  生かしてほしい」 と言われました。 依頼元曰く「たぶんコンポーネントを参照設定せずにコーディング しないといけないと思う」との事なのですが、それは可能なのでしょうか? また、可能であれば、方法(または方針)を教えていただけると有難いです。 (もしかしてOCXと処理を完全に分離してDLL化しないとダメ?)

  • VB6ランタイム

    最近インストールしたフリーソフトには、 TABCTL32.OCX・MSCOMCTL.OCX というファイルも同梱されており 一緒にインストールされます。 場所は、C:\WINDOWS\system32です。 TABCTL32.OCX・MSCOMCTL.OCX は、VB6ランタイムのファイルですが、 バージョンを調べるとかなり古いものでした。 VB6ランタイムは、過去のバージョンも含め脆弱性はありませんか。 よろしくお願いします。

  • OCXの作成

    他の環境(PC)で開発したOCXを、他の環境(PC)で作成使用とすると、 エラーメッセージ表示:「コンパイルエラープロジェクトまたはライブラリが 見つかりません」と表示されます。その後ファイル内のleft関数にフォーカス されます。OCXの作成とは、VBPファイルを開き、「ファイル」→ 「XXXX.ocx(exe)を作成」を指します。[開発環境]win98,VB6.0(SP3) なにかライブラリなどを追加する必要があるのでしょうか?   

  • VB2008によるOCX作成、またはHTMLからのDLL呼び出しは可能でしょうか?

    こんにちは。 はじめての投稿になります。 私は現在、「ファイルを開く」のコモンダイアログボックスを起動できるHTML画面を作りたいと思っております。 その画面ではサーバ側のファイルを閲覧させたいのですが、認証やセキュリティなどの観点から、 ダイアログボックスの起動はクライアント側で動作するようにしたいです。 それにあたって、ダイアログボックスを呼び出すオブジェクトをAxtiveXコントロール(OCX)で作成し、 そのOCXをHTMLから呼び出すことで実現できないかと考えました。 そこで、以下のことを調べております。 (1)無償のVB開発環境を使ってAxtiveXコントロールを作成することができるか? (2)AxtiveXコントロールを作成できないなら、AxtiveX DLLをHTMLから呼び出せるか? ちなみに現在使用している「無償のVB開発環境」は、Visual Studioの Visual Basic 2008 Express Edition です。 (1)に関しては、VB6ではAxtiveXコントロールを作成できたと聞きますが、どうもVB2008では(.Netでは)作成できないようです。(現在までに見つけた情報に、「.Netで作成できる」というものがないため) (2)に関しては、VB2008 Express Edition を使って、ダイアログボックスを呼び出す AxtiveX DLL を作成することには成功しています。 VBのCOMクラスのテンプレートにダイアログボックス起動の関数を記述し、ビルドしてdllを作成。 ↓ 別途VBによるWindowsフォームアプリケーションを作成し、「参照の追加」で上記dllを登録してダイアログボックス起動の関数を呼び出す。 という方法で、ダイアログボックスを呼び出せました。 ですので、HTMLの画面からも同じようにdll呼び出しができないかと思ったのですが、現在のところ方法が見つかりません。 ダイアログボックスを開く機能さえあればよく、ユーザーインターフェースは不要なので AxtiveX DLL でもよいと思ったのですが、HTMLからの呼び出しにはDLLではなくOCXを用いるという情報しか見つけられませんでした。 以上のことから、VB2008ではHTMLからダイアログボックスを呼び出すActiveXを作れないのではないか?と思える状態なのですが、それが可能であるという話がもしありましたら、お教えいただきたく思います。 最低限「クライアント側からのダイアログボックス起動ができるHTML」「ダイアログボックス起動はVBで作成」という条件を満たせればよいので、(1)(2)で実現できなければ別の方法を探すことにします。 最後に 必要かどうかわかりませんが、(2)で試しに作ったダイアログボックス呼び出しのCOMクラスのソースを載せておきます。 ご回答の参考になりますでしょうか。 Imports System.Windows.Forms <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _ Public Class ComClass1 Public Const ClassId As String = "2bdd38a4-f946-44e2-af47-5b9cbd2c24d5" Public Const InterfaceId As String = "fcd22890-f4cd-4e2a-b8c0-ae83f290c250" Public Const EventsId As String = "86c74809-966a-47cf-9324-adce776030eb" Public Sub New() MyBase.New() End Sub Public Function subOpenFile(ByVal inFilePass As String) As Boolean subOpenFile = False 'OpenFileDialogクラスのインスタンスを作成 Dim ofd As New OpenFileDialog() If inFilePass = "" Then ofd.InitialDirectory = "C:\" Else ofd.InitialDirectory = inFilePass End If ofd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*" ofd.FilterIndex = 2 ofd.Title = "開くファイルを選択してください" ofd.RestoreDirectory = True ofd.CheckFileExists = True ofd.CheckPathExists = True 'ダイアログを表示 If ofd.ShowDialog() = DialogResult.OK Then Console.WriteLine(ofd.FileName) End If subOpenFile = True End Function End Class (呼び出し側では以下の記述で呼び出しに成功しました) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Test As New COMTest1.ComClass1 Call Test.subOpenFile("C:\WINDOWS") End Sub 以上、よろしくお願いいたします。

  • 既にVBアプリが入っているPCでの自作VBアプリの実行でエラー

    お世話になります。 なんとかVBでEXEまで作成しました。 自分のPCでは実行できたのですが、 他のPCではエラーになります。 MSFLXGRD.OCXがない・・・みたいなエラーです。 エラーになったPCには既にVBのアプリケーションが インストールされていて、必要なランタイムは 多分そろっていると思います。 検索したらMSFLXGRD.OCXは見つかりました。 これってバージョンの問題ですか?? フリーで色々あるランタイムパッケージなどを ダウンロードした方がいいですか? 既存のAPが動かなくなると困るので、 あんまりしたくないんですが。 VB6.0でOSはどれも2000です。 よろしくお願いいたします。

  • Tabctl32.ocxについて

    はじめまして。 早速で恐縮ですが、WIN95、VB5(SP3)の環境で開発しております。 デザイン時、Form上にSStabコントロールを置こうとすると、 『141:コントロール'Sstab1'はロードできません。 ライセンスが見つかりません。』というエラーが出てしまい、コントロールを 配置することが出来ません。 正常にForm上にSStabコントロールを作れるPCより、Tabctl32.OCXをコピーし、 C:\Windows\System上に上書きしても、同じ現象が出てしまうので、 『Tabctl32.OCX』のバージョンの問題ではないような気がします。 どなたか、解決方法をご存知の方がいらっしゃいましたら、 よろしくお願いします。

  • OCXをサポートしている開発環境?

    こんばんは。 こんなことみなさんに尋ねたら笑われてしまうかもしれませんが、 OCXファイルっていうのは具体的にはどういったものなんでしょうか? DLLファイルとどう違うのですか? プログラム言語で「OCXをサポートしている開発環境」に VBがあることは何となく分かるのですが、 他の言語はどうなんでしょうか? たいていの言語はサポートしているんですか? どうかよろしくお願いします。m(_ _)m

  • OCXのレジストリ登録

    BCB5にて、OCXを作成しました。 開発環境では、もちろんレジストリ登録して(ツールがやってくれるんです)動作しています。 でも、他環境にそのOCXと関連DLL(と思われる)をインストールして、 REGSVR32 TARGET.OCX としても、エラーが出て登録できません。 エラーダイアログには、「Load Library(”Target.ocx”)failed. GetLastError returns 0x00000485」 と表示されます。これは、どんなエラーなのでしょうか? 関連DLLをインストールしたといいましたが、実はあんまり自信がありません。必要なDLLとは、どのようにしたら確実に判るものなのでしょうか? よろしくお願いします。