- PR -

OCXを埋め込んだWebFormを複数起動できないのは仕様?

1
投稿者投稿内容
セディ
会議室デビュー日: 2005/03/14
投稿数: 13
投稿日時: 2005-10-17 19:46
ASP.NETのWebForm上にOCXのActiveXコントロールを埋め込んでいます。
ブラウザ(IE)からこのフォームをいくつか開くつもりなのですが
既に1つのブラウザにこのコントロールが表示されていると、他のブラウザでは
ページのエラーとなります。
⇒オブジェクトでサポートされていないプロパティまたはメソッドです”

なおWebFormに埋めこまずHTML等にOCXを埋め込んだものは複数起動できます。

WebFormにOCXを埋め込んだ場合に同じ画面を複数開けないのは仕様でしょうか?
ご存知でしたら教えてください。

よろしくお願いいたします。


渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-10-17 23:38
引用:

WebFormにOCXを埋め込んだ場合に同じ画面を複数開けないのは仕様でしょうか?



一般的にはそんな制限はありません。
Flash を貼ったページを何枚でも開けるのがよい実例です。

「その OCX の仕様」なんでしょう。


_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-18 08:49
引用:

セディさんの書き込み (2005-10-17 19:46) より:

オブジェクトでサポートされていないプロパティまたはメソッドです


「その OCX の仕様」にしてもこれは妙です。

OCX 周辺のコードを載せて頂けると嬉しいです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
セディ
会議室デビュー日: 2005/03/14
投稿数: 13
投稿日時: 2005-10-18 10:46
ありがとうございます。
OCXを埋め込んでいる部分は下記のように記述されています。
-----------------------------------------------------------------
<%@ Page language="c#" Codebehind="PlayerView.aspx.cs" EnableViewState="false" AutoEventWireup="false" Inherits="FJP.Relaytion.PlayerView" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>音声再生画面</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">

<SCRIPT language="JavaScript">
var ret = 0; //ind,dat取得判断用(ocxメソッド)
var ret2 =0; //xml取得判断用(ocxメソッド)
var name="";
var closeFlg = false;

//このメソットは、音声ファイルをダウンロードするメソットです。
// function downloadFile(){
ret = Player.Httpdown("http//〜(URL)?id=<%=VoiceID %>",FileNameXX)
if(ret!=0){
alert("音声ファイルの読み込みに失敗しました\\n管理者までご連絡ください");
}
}
</SCRIPT >

■----[bodyタグ内]-------------------------------------

<body bgColor="#ffcccc" MS_POSITIONING="GridLayout" onload="setTimeout( 'downloadFile()', 3000 )">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 56px; WIDTH: 632px; POSITION: absolute; TOP: 32px; HEIGHT: 272px"
cellSpacing="1" cellPadding="1" width="300" border="1">
<TR>
<TD style="HEIGHT: 250px">
<OBJECT id="Player" style="WIDTH: 640px; HEIGHT: 272px" classid="clsid:1C541400-EE9A-4C7B-8005-47B5046765C4"
VIEWASTEXT>
<PARAM NAME="_Version" VALUE="131076">
<PARAM NAME="_ExtentX" VALUE="16933">
<PARAM NAME="_ExtentY" VALUE="7197">
<PARAM NAME="_StockProps" VALUE="0">
<PARAM NAME="BackColor" VALUE="12632319">
<PARAM NAME="WaveBackColor" VALUE="16777215">
<PARAM NAME="WaveLineColor" VALUE="16744448">
<PARAM NAME="BtnVisible" VALUE="1">
<PARAM NAME="BuffSize" VALUE="4">
<PARAM NAME="BuffNum" VALUE="4">
<PARAM NAME="LineHeight" VALUE="468">
<PARAM NAME="WaveVisible" VALUE="-1">
<PARAM NAME="ChangeIcon" VALUE="0">
</OBJECT>
</TD>
</TR>
---------------------------------------------------------------------
<body>タグでonLoadを使用してOCXのメソッドを呼び音声ファイルを再生するようにしています。
メソッドは<HEAD>タグ内に記述してます。
VoiceIDは、分離コード側でpublic static String VoiceID = "";こちらに前頁から渡されたQueryString値をセットしたものを利用して該当するURLを作成してファイルをダウンロードしております。

[開発環境]WinXPSP2 +VS2003 (デザイナ画面の"ツールBOX”のコンポーネントにこのOCXを登録しています。)+IIS(Win2003Server)

よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)