다운로드
소프트웨어 개발
계정
다운로드
소프트웨어 개발
Login
Forgot Account/Password
계정 만들기
언어
도움
언어
도움
×
Login
Login Name
Password
×
Forgot Account/Password
Translation Status of 한국말
Category:
Software
People
PersonalForge
Magazine
Wiki
검색
OSDN
>
브라 우즈 소프트웨어
>
Software Development
>
Interpreters
>
DMonkey
>
포럼
>
Open Discussion
>
オートメーションの呼び出しについて
DMonkey
Description
Project Summary
Developer Dashboard
웹 페이지
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
다운로드
List of Releases
Stats
소스 코드
Code Repository list
CVS
View Repository
티켓
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
포럼
List of Forums
도움 (8)
Open Discussion (26)
Users (0)
Mailing Lists
list of ML
dmonkey-dev
News
포럼:
Open Discussion
(Thread #2991)
Return to Thread list
RSS
オートメーションの呼び出しについて (2003-07-19 06:51 by
giraffechariot
#5334)
Reply
Create ticket
はじめまして
Dmonkey を便利に利用させて頂いております.
(Windows2000, Delphi5, Dmonkey 0.3.5)
Project1 というアウトオブプロセスサーバを作成しました.Project1 は Irvine の様に
API を公開しています.
Project1 はスレッドで Dmonkey スクリプトを実行しています.
実行されたスクリプトの中から逆に Project1 の API をコールしています.
var Guid = Global.arguments[0];
var api = ActiveXObject('Project1.Api');
api.SetStateStr(Guid, 'Start');
このとき,
「プロジェクト Project1.exe が EOleSysError クラスの例外を生成しました'
メンバが見つかりません。'~」
という例外が Run 後の最初の1回だけ必ず発生し,デバッガが以下の場所で停止します.
ecma_engine.pas - TJEngine.MemberExpr
line 1453: Result := parent.vObject.GetValue(Member,False);
この後実行を再開すれば,スクリプトは最後まで何事もなく動くのですが,
この例外はどういった理由によるものでしょうか?
Reply to #5334
×
Subject
Body
Reply To Message #5334 > はじめまして > Dmonkey を便利に利用させて頂いております. > (Windows2000, Delphi5, Dmonkey 0.3.5) > > Project1 というアウトオブプロセスサーバを作成しました.Project1 は Irvine の様に > API を公開しています. > Project1 はスレッドで Dmonkey スクリプトを実行しています. > 実行されたスクリプトの中から逆に Project1 の API をコールしています. > > var Guid = Global.arguments[0]; > var api = ActiveXObject('Project1.Api'); > api.SetStateStr(Guid, 'Start'); > > このとき, > 「プロジェクト Project1.exe が EOleSysError クラスの例外を生成しました' > メンバが見つかりません。'~」 > という例外が Run 後の最初の1回だけ必ず発生し,デバッガが以下の場所で停止します. > > ecma_engine.pas - TJEngine.MemberExpr > line 1453: Result := parent.vObject.GetValue(Member,False); > > この後実行を再開すれば,スクリプトは最後まで何事もなく動くのですが, > この例外はどういった理由によるものでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: オートメーションの呼び出しについて (2003-07-19 06:53 by
giraffechariot
#5335)
Reply
Create ticket
例外は
api.SetStateStr(Guid, 'Start');
の行で発生しています.
Reply to
#5334
Reply to #5335
×
Subject
Body
Reply To Message #5335 > 例外は > api.SetStateStr(Guid, 'Start'); > の行で発生しています.
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: オートメーションの呼び出しについ (2003-07-20 21:36 by
giraffechariot
#5354)
Reply
Create ticket
もっと簡単に,dmw.exe から
var api = ActiveXObject('Irvine.Api');
api.Invalidate();
で,この例外が発生します.
プロパティ,例えば
var api = ActiveXObject('Irvine.Api');
println(api.Version);
では発生しません.
Reply to
#5334
Reply to #5354
×
Subject
Body
Reply To Message #5354 > もっと簡単に,dmw.exe から > var api = ActiveXObject('Irvine.Api'); > api.Invalidate(); > で,この例外が発生します. > > プロパティ,例えば > var api = ActiveXObject('Irvine.Api'); > println(api.Version); > では発生しません.
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: オートメーションの呼び出しについ (2003-07-23 04:54 by
gaogao
#5362)
Reply
Create ticket
ども、ご利用ありがとうございます。
問題の件は多分、newが抜けているからだと思います。
---
var api = new ActiveXObject('Irvine.Api');
---
ActiveXObjectだけだと、
グローバルオブジェクトを返すので場合によっては動く可能性がある?かもです。
Reply to
#5354
Reply to #5362
×
Subject
Body
Reply To Message #5362 > ども、ご利用ありがとうございます。 > 問題の件は多分、newが抜けているからだと思います。 > --- > > var api = new ActiveXObject('Irvine.Api'); > > --- > ActiveXObjectだけだと、 > グローバルオブジェクトを返すので場合によっては動く可能性がある?かもです。 >
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: 再テストしてみました (2003-07-23 16:50 by
giraffechariot
#5366)
Reply
Create ticket
ご返答ありがとうございます.
すいません,new はここに書く時に付け忘れてしまいました.
改めて,以下の様にテストしてみました.
・dmonkey を最新のソースに入れ直して,パッケージ再構築 → 再登録
・Irvine 1.0.1 を使っていたので /unregserver
・Irvine 1.0.9 & 1.1.1 をダウンロード
・1.0.9 を解凍 → 1.1.1 を上書き → 起動
・IDE から dmw.exe をコンパイル & 実行
ソースは今度こそ間違いなく以下の通り
var api = new ActiveXObject('Irvine.Api');
api.Invalidate();
とおこなってみましたが,やはり EOleSysError 例外が発生します.
これは IDE からのみ発生していますので構わないといえば構わないのですが.
もう1つありまして
var http = new HTTP;
http.onConnect = function(sender) {
api.SetStateStr('Connect');
}
http.get('
http://www.google.com/');
この様にイベントの中から API をコールすると,"DMS の時は期待通りに動く"のですが,
なぜか生成された DMC を利用すると ESocketError になります.
そこで今回の例外が絡んでいるのかなと思った次第です.
Reply to
#5334
Reply to #5366
×
Subject
Body
Reply To Message #5366 > ご返答ありがとうございます. > すいません,new はここに書く時に付け忘れてしまいました. > > 改めて,以下の様にテストしてみました. > ・dmonkey を最新のソースに入れ直して,パッケージ再構築 → 再登録 > ・Irvine 1.0.1 を使っていたので /unregserver > ・Irvine 1.0.9 & 1.1.1 をダウンロード > ・1.0.9 を解凍 → 1.1.1 を上書き → 起動 > ・IDE から dmw.exe をコンパイル & 実行 > ソースは今度こそ間違いなく以下の通り > var api = new ActiveXObject('Irvine.Api'); > api.Invalidate(); > > とおこなってみましたが,やはり EOleSysError 例外が発生します. > これは IDE からのみ発生していますので構わないといえば構わないのですが. > もう1つありまして > > var http = new HTTP; > http.onConnect = function(sender) { > api.SetStateStr('Connect'); > } > http.get('http://www.google.com/'); > > この様にイベントの中から API をコールすると,"DMS の時は期待通りに動く"のですが, > なぜか生成された DMC を利用すると ESocketError になります. > そこで今回の例外が絡んでいるのかなと思った次第です. >
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel