ひとつのIEのフォームに2つの同じActiveXの配置

[戻る]
河童 [E-Mail] 2004/07/30(金) 10:23:38
ActiveX・・・というかVisualStdio初心者の河童です。

現在VC++でActiveXを作成し、WEBサーバーからダウンロードし、IE上で使用しているの
ですが、ひとつのフォームにフレームを切って、それぞれのフレームに同じActiveXを<
object・・・>タグを使ってロードして使用しようと思ったところ、どちらか1つの
ActiveXしか実行されません。

簡単にhtmlを記しますと、

メインフレーム:
<html>
<head>
<title>My ActiveX Test</title>
</head>
<frameset cols="200,*">
    <frame src="switch.html" name="sw">
    <frameset rows="50%,50%">
        <frame src="ac_01.html" name="ac1">
        <frame src="ac_02.html" name="ac2">
    </frameset>
</frameset>
</html>

ac_01.html:
<html><head>/head>
<body>
<OBJECT id="ac_01" WIDTH="320" HEIGHT="240" codeBase="myActiveX.ocx" 
classid="clsid:xxxxx・・・・・" name="ac_01">
</OBJECT>
</body></html>

ac_02.html:
<html><head>/head>
<body>
<OBJECT id="ac_02" WIDTH="320" HEIGHT="240" codeBase="myActiveX.ocx" 
classid="clsid:xxxxx・・・・・" name="ac_02">
</OBJECT>
</body></html>

同じActiveXなので、「classid="clsid:xxxxx・・・・・"」同じです。ActiveXはロード
後、クリックすると起動するようにしてあるのですが、2つをクリックしても先にクリッ
クした方しか動きません。

なにかお気づきの点などありましたら、ご教示ください。
よろしくお願いいたします。


開発環境
 WindowsXP,VisualStdio.Net,IIS

河童 2004/08/05(木) 10:59:15
[[解決]]
某所に訊ねたところ、ActiveXでグローバルに定義した領域等があると、メモリを共有し
ているために、おかしくなる、という答えもらいました。

グローバルな部分をすべてクラス内に定義したところ、巧くいきました。

お騒がせしました。

古いスレッドには追加発言できません。