こんにちは
TWebBrowserのNavigateメソッドを使ってファイル転送(Up/Down)を行う
Delphi5Proで作られたアプリケーションがありあす。
現在アップロードした筈がサーバーに届いていないという障害が発生しています。
コンポーネントの機能を使って、送達確認を行う事はできるのでしょうか?
それとも、別途実装しないと難しいものでしょうか。
書き忘れました。
Delphi5Proで作成されたものですが、
改修は手持ちのDelphi2007Proもしくは最新版(XE5?)で行う予定です。
これらで注意点などありましたら、合わせて教えていただけると助かります。
「送達確認」になるか分かりませんが…
OnNavigateErrorは発生していませんか?
もし発生しているのならば、HTTPステータスコードを見ることで何か分からないでしょうか。
TWebBrowserNavigateError = procedure(Sender: TObject; const pDisp: IDispatch;
var URL: OleVariant; var Frame: OleVariant;
var StatusCode: OleVariant;
var Cancel: WordBool) of object;
こちらが参考になりそうです。
☆IE コンポーネントにおけるイベントの発生順序 - daily dayflower
http://d.hatena.ne.jp/dayflower/20070926/1190787926
>改修は手持ちのDelphi2007Proもしくは最新版(XE5?)で行う予定です。 これらで注意点など
いっぱいあるんじゃないかと思いますが、ちょうどTWebBrowserについて知ってたのでそれを。
イベントハンドラの一部のパラメータがXE2から var → const に変わってます。理由は不明。
参考: ↓下の方に「チラシの裏」として書いておきました。
https://www.petitmonte.com/bbs/answers?question_id=8026
------------------------------------------------------------------------------------
>TWebBrowserのNavigateメソッドを使ってファイル転送
アップロードはNavigateメソッドのPostDataパラメータを使ってPostしてるということですよね?
探し方が悪いのか、↓こちらしかめぼしい具体例を見つけられませんでした。
TWebBrowser での POST - daily dayflower
http://d.hatena.ne.jp/dayflower/20070921/1190366311
上記サイトとまったく同じ内容でしょうか?
差し支えなければでいいんですが、コードを教えていただけると嬉しいです。出来れば全体的に…。
実は、そのアプリですがソースのバージョン管理が甘く、稼働中のソースがない状態です。
外部から何かのツールを使ってOnNavigateErrorが発生しているかどうかを調べる事はできますか?
>TWebBrowserのNavigateメソッドを使ってファイル転送(Up/Down)を行う Delphi5Proで作られたアプリケーションがあり
>稼働中のソースがない状態です。
えぇー、ということは、TWebBrowserを使ってるという記憶だけがあるのですね?
うーん、イマイチ状況が把握できませんが…。
>外部から何かのツールを使ってOnNavigateErrorが発生しているかどうかを調べる事はできますか?
既存のアプリを再構築できないなら、OnNavigateErrorとかは意味のない話だと思います。
先にお伝えしたのは、「HTTPステータスコードを見て、それが参考・取っ掛かりになりませんか?」という話なので、
OnNavigateErrorでなくともHTTPモニターを見れば分かります。
というか、ちゃんと調べるならそういったネットワークのやりとりをモニタリングして確認する必要があるんじゃないでしょうか。
私はFiddlerというソフトを使ったことがあります。
ツイート | ![]() |