|
いつも、お世話さまでございます。
下記B.uwsを単独で実行すると問題なく起動します。 (楽天証券にログインして株の売買するモバイルサイトです。) ですが、 A.uwsを実行して、B.uwsを2度実行しようとしますと・・・ Uスクリプト:BUSYWAIT:多重定義です PROCEDURE BUSYWAIT(IE) ↑のエラーメッセージで止まってしまいます。 どなたか、対策をご教示頂けるとありがたいです。
バージョンは、4.3d1です。
[A.uws] //楽天証券2度ログイン call B.uws SLEEP(2) call B.uws
[B.uws] //楽天証券ログイン IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("https://mobile.rakuten-sec.co.jp/fopweb/") ACW(GETID("Microsoft Internet","IEFrame"),564,13,443,582,0) BusyWait(IE) IESetData(IE,"aaaaaaaa","loginid") // TEXT IESetData(IE,"bbbbbbbb","password") // PASSWORD IESetData(IE,True,"","ログイン") // SUBMIT BusyWait(IE) IELINK(IE,"転売・買戻注文") // https://mobile.rakuten-sec.co.jp/WT10/fopweb/doRepList.do;mb-pl15=rC0yHynfxX!-1939435873?fop=fop&_xpxi=FgNXl3... BusyWait(IE) IESetData(IE,True,"","一括転売・買戻") // SUBMIT BusyWait(IE) IESetData(IE,True,"0","2") // RADIO IESetData(IE,True,"","確認") // SUBMIT BusyWait(IE) IESetData(IE,"3435","0") // PASSWORD IESetData(IE,True,"","注文") // SUBMIT BusyWait(IE) // IE.Quit // IE終了 //------
//ブラウザを閉じる SLEEP(1) TITLE1 = GETID("Microsoft Internet") ctrlwin(TITLE1,CLOSE)
Procedure BusyWait(ie) Sleep(0.5) // Wait Const TIME_OUT = 90 tm = Gettime() repeat Sleep(0.2) ifb Gettime() - tm > TIME_OUT MsgBox("Time Out:BusyWait") ExitExit endif until (! ie.busy) and (ie.readyState=4) Sleep(0.5) Fend
※ちなみ・・・ 下記の1回のみ実行は、問題なく実行できます。 [A.uws] //楽天証券2度ログイン call B.uws |
| DATE:2007/11/30(Fri) 17:53
No.1287 |
|
|
|
以下を B.uws を呼び出す A.uws の末尾にコピーして、B.uws から取り除いてみてください。
Procedure BusyWait(ie) Sleep(0.5) // Wait Const TIME_OUT = 90 tm = Gettime() repeat Sleep(0.2) ifb Gettime() - tm > TIME_OUT MsgBox("Time Out:BusyWait") ExitExit endif until (! ie.busy) and (ie.readyState=4) Slee |
|
DATE:2007/11/30(Fri) 19:11
|
|
|
|
いりや 様 ご教示頂きまして、ありがとうございました。 お蔭様で問題なく、起動するようになりました。
Procedureって functionのような使い方をするんですね?(間違ってたらすいません) |
|
DATE:2007/12/1(Sat) 18:50
|
|
|
|
はい、文の並びに、名前をつけたものという意味で一緒です。(function は値を返し、procedure は値を返しません) |
|
DATE:2007/12/2(Sun) 21:27
|
|
|
|
GB400 さんの、質問とは直接関係が無かったのですが
Call ".\A.uws" Call "./A.uws"
// A.uws Procedure foo() FEnd
上記の記述で FOO: 多重定義です のエラーが出ます。
Call ".\A.uws" Call ".\A.uws" や Call "./A.uws" Call "./A.uws" では、エラーにはなりません。
同一ファイルを複数回呼び出す際に「\」「/」が混在すると別のファイルと認識され、エラーになる様子です。
いずれかに統一すれば問題は無いのですが、報告まで |
|
DATE:2007/12/4(Tue) 01:31
|
|
|
| RE:多重定義のエラーにつきまして。 umiumi |
|
|
|
>同一ファイルを複数回呼び出す際に「\」「/」が混在すると別のファイルと認識され、エラーになる様子です。 対処します。 |
|
DATE:2007/12/4(Tue) 23:05
|
|
|
|