オンラインソフトをDLして起動しようとすると「COMCTL32.COXが最新ではない」というメッセージが出て起動できません。VB6でつくられているようで,何種類かのVB6(SP5など)をDLしましたが,このファイルが入っていません。VB6のランタイムもいろいろあってどれに入っているのか分かりません。「COMCTL32.COX」だけ最新にすることはできますか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

COMCTL32.COXはダイアログ関係のAPIを呼ぶだけのコントロールです。


だから基本的には、インストーラを使用しないでもコピーするだけで使えるはずです。

COMCTL32.COXをSPを使ってインストールすると、たぶんWINDOWS\SYSTEM32にインストールされるのかな?(未検証)
使用するソフトは最初自分自身のパスを参照し、それから[WINDOWSフォルダ]や[WINDOWS\SYSTEM32]フォルダや[Program Files]フォルダなどを参照します。

古いバージョンのCOMCTL32.COXがどこかに入っているなら、最新バージョンのCOMCTL32.COXをアプリケーションのあるフォルダにCOMCTL32.COXをコピーしてみては?(これまた未検証)
    • good
    • 0
この回答へのお礼

ずいぶんと遅くなりましたが情報ありがとうございます。いろいろ試しましたがうまくいきませんでした。(TT)別のエラーかも知れませんね。またいろいろ教えてさい。

お礼日時:2002/01/07 19:59

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QVB6変数の宣言dim j,k,p,m,n as Integerは良くない?

お世話になります。

VB暦1年です。

汎用の変数宣言でタイトルのように
dim j,k,p,m,n as Integer
dim ssa,ssb as String

など、カンマ区切りで変数宣言を使っていたのですが
最近、知人にasの手前の変数は型どおり宣言されるが
その手前の変数はVariant型で宣言されてしまうと指摘されました。

指摘されるまで気にはしていませんでしたが
ウォッチで確認すると変数に代入されるまでは
型がVariant/Emptyとなってます。

以後、気をつければいいのですが
過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。
後々、問題になるのかな?

Aベストアンサー

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというようなバグの原因になりやすいので、型を明示できるような状況で敢えてVariant型を使うべきではないです。

しかし、すでに納品してしまったコードについては、問題はメモリを余計に使ってしまうことくらいではないでしょうか?
他の人が気づかなかったことから考えるに、多分狭いスコープで使っていますよね? 比較対象や代入するべき型を誤るというようなロジックの誤りがない限り、少なくとも動作上の問題は発生しないと思います。ただ、直せる機会があるのであれば、直した方がいいとは思いますが。

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというよう...続きを読む

QVB6で作成したプログラムが起動せずMS-officeのインストーラーが起動します(初心者)

Visualbasic6.0でプログラムを作成し、DELLのパソコン(Inspiron 1100)で実行ファイルをクリックしても、MS-officeのインストーラーが起動してofficeのCDを入れて下さいと出るだけでプログラムが起動出来ません。なぜでしょうか?他のパソコンでこういった不具合は今までありませんでした。
プログラムを作成したパソコンは別のパソコンで、DELLのパソコンにはvb6.0は入っていません。


Inspiron 1100
MicrosoftR WindowsR XP Home Edition Service Pack 1
Microsoft Office 2000 Parsonal

Aベストアンサー

こんばんは。

参考URLのマイクロソフト・サポートページをご覧ください。
回避策が書かれています。


▼[VB6] Office2000のCDを要求される

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;417320

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

QVB6の _ExtentX, _ExtentY

VB6 アプリケーションのメンテナンスをしています。
修正前後で FRM ファイルのソース差分をとって確認したところ、_ExtentX, ExtentY の値が変わっていました。

今回の修正ではいじっていないのですが、変わってしまいまってました。
名前から、水平方向と、垂直方向の領域に関するプロパティと思われるのですがどこで設定されているのか分かりません。

そこで、質問ですが

(1) このプロパティの意味は何でしょうでしょうか
(2) このプロパティ値が変わることによりどのような影響があるのでしょう
(3) このプロパティは意識する必要があるのでしょうか。

以上、ご教示願います。

Aベストアンサー

全くの素人ですが、

1 コントロール(フォーム?)のHIMETRIC単位によるwidthとheight
http://www.xtremevbtalk.com/showthread.php?t=10994
2 フォームのサイズが変わっているのではないでしょうか?
3 フォームは普通意図的にサイズ指定しているはずですので、意識の必要は無いと思います。

QVB6,Ifから抜けるには?

If a = b then
  xxx
 If c = d then
   ここ!
 End If
  yyy
End If

zzz

上のここ!から抜け、zzz以降の処理を継続するにはどうすればよいでしょうか?
Exit Subをやってしまうとプロシージャ自体から抜けてしまいます。

Aベストアンサー

(1)下記が、処理順序の都合でできる場合
yyyの処理がc=dに影響しないとき
If a = b then
  xxx
yyy
 If c = d then
   ここ!
else
 End If
End If
zzz
(2)できない場合
If a = b then
  xxx
 If c = d then
   ここ!
   yyy
 else
yyy
 end if
End If
zzz
yyyのコードのステップ数が多い場合、2回記述をサブルーチンか何かを使い回避する。
(3)GoToを使う方法


人気Q&Aランキング

おすすめ情報