Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
Software Development
>
Interpreters
>
DMonkey
>
Foren
>
Offene Diskussion
>
オートメーションの呼び出しについて
DMonkey
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
CVS
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Kommunikation
Foren
Forum-Liste
Hilfe (8)
Offene Diskussion (26)
Users (0)
Mailinglisten
Alle Mailinglisten
dmonkey-dev
Neuigkeiten
Foren:
Offene Diskussion
(Thread #2991)
Zurück zur Thread-Liste
RSS
オートメーションの呼び出しについて (2003-07-19 06:51 by
giraffechariot
#5334)
Antworten
Ticket erstellen
はじめまして
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
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen
RE: オートメーションの呼び出しについて (2003-07-19 06:53 by
giraffechariot
#5335)
Antworten
Ticket erstellen
例外は
api.SetStateStr(Guid, 'Start');
の行で発生しています.
Reply to
#5334
Reply to #5335
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen
RE: オートメーションの呼び出しについ (2003-07-20 21:36 by
giraffechariot
#5354)
Antworten
Ticket erstellen
もっと簡単に,dmw.exe から
var api = ActiveXObject('Irvine.Api');
api.Invalidate();
で,この例外が発生します.
プロパティ,例えば
var api = ActiveXObject('Irvine.Api');
println(api.Version);
では発生しません.
Reply to
#5334
Reply to #5354
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen
RE: オートメーションの呼び出しについ (2003-07-23 04:54 by
gaogao
#5362)
Antworten
Ticket erstellen
ども、ご利用ありがとうございます。
問題の件は多分、newが抜けているからだと思います。
---
var api = new ActiveXObject('Irvine.Api');
---
ActiveXObjectだけだと、
グローバルオブジェクトを返すので場合によっては動く可能性がある?かもです。
Reply to
#5354
Reply to #5362
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen
RE: 再テストしてみました (2003-07-23 16:50 by
giraffechariot
#5366)
Antworten
Ticket erstellen
ご返答ありがとうございます.
すいません,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
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen