トップページ > Windows > 2011年10月14日 > D8bO+hb/

書き込み順位&時間帯一覧

30 位/462 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001000000001000100003



使用した名前一覧書き込んだスレッド一覧
名無し~3.EXE
Irvine Part28

書き込みレス一覧

Irvine Part28
70 :名無し~3.EXE[sage]:2011/10/14(金) 06:49:18.31 ID:D8bO+hb/
phpやってる人居たら検証して欲しいんだけど
function a(){
$Irvine = new COM("Irvine.Api");
$IrvineItem = new COM("Irvine.Item");
$Irvine->Current->AddItem($IrvineItem);
$Irvine=null;
$IrvineItem=null;
}
a();a();
これ動かしたら
PHP Fatal error: Uncaught exception 'com_exception' with message 'Unable to lookup `P$、tem': 名前が不明です。' in do.php:5
Stack trace:
#0 do.php(5): variant->P$、tem(Object(com))
#1 do.php(9): a()
#2 {main}
thrown in do.php on line 5

Fatal error: Uncaught exception 'com_exception' with message 'Unable to lookup `P$、tem': 名前が不明です。' in do.php:5
Stack trace:
#0 do.php(5): variant->P$、tem(Object(com))
#1 do.php(9): a()
#2 {main}
thrown in do.php on line 5
このエラー出るけど、これIrvine側の不具合?
a();だと出なくて、a();a();だと出る。

php 5.4.0beta1
windows7 64bit
Irvine Part28
72 :名無し~3.EXE[sage]:2011/10/14(金) 15:27:33.85 ID:D8bO+hb/
ああそれは省略で、実際はurlなりfilenameなり設定しても同じ。

この後もうちょっと調べたんだけど
$Irvine->Current->AddItem($IrvineItem);
が癌で、ちょっと珍しいのが
phpファイル上で、同じ行にある$Irvine->Current->AddItem($IrvineItem);が実行されるとエラーが出るみたい。
だから、
$Irvine = new COM("Irvine.Api");
$IrvineItem = new COM("Irvine.Item");
$Irvine->Current->AddItem($IrvineItem);
$Irvine->Current->AddItem($IrvineItem);
はOKだけど
function AddItem($Irvine,$IrvineItem){
$Irvine->Current->AddItem($IrvineItem);
}
$Irvine = new COM("Irvine.Api");
$IrvineItem = new COM("Irvine.Item");
AddItem($Irvine,$IrvineItem);
AddItem($Irvine,$IrvineItem);
だと、functionの中のaddItemが二回実行されるからダメ。
function AddItem($Irvine,$IrvineItem){
$Irvine->Current->AddItem($IrvineItem);
}
$Irvine = new COM("Irvine.Api");
$IrvineItem = new COM("Irvine.Item");
AddItem($Irvine,$IrvineItem);
$Irvine->Current->AddItem($IrvineItem);
は、functionの中は一度しかじっこうされないからOK

この例だとwarningが出るだけで済んでるけど、ちょっとメモリ食う処理の後だとphp.exeが落ちるのが困る。
Irvine Part28
74 :名無し~3.EXE[sage]:2011/10/14(金) 19:46:44.48 ID:D8bO+hb/
サンクス、追加方法色々あるのな。
結局、eval('$Irvine->Current->AddItem($IrvineItem);');という強引な方法でエラーは出なくなった。

安定性だとテキストファイルからのインポートも覚えておくよサンクス


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。