PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
12882 00/08/22 17:47:07 RE(6):※解決:メーカー提供のAPI関数について(資源回収ゴミレス) By リエッチ
12869 00/08/21 23:01:19 RE(5):メーカー提供のAPI関数について?(燃えないゴミレス) By Taka
12865 00/08/21 18:23:02 RE(4):メーカー提供のAPI関数について?(燃えないゴミレス) By リエッチ
12862 00/08/21 17:30:55 RE(3):メーカー提供のAPI関数について?(燃えないゴミレス) By Taka
12860 00/08/21 16:38:18 RE(2):メーカー提供のAPI関数について? By リエッチ
12859 00/08/21 16:36:46 RE(1):メーカー提供のAPI関数について? By リエッチ
12858 00/08/21 16:35:51 PB5.0.03: メーカー提供のAPI関数について? By リエッチ

カテゴリ:スクリプトの記述
日付:2000年08月22日 17:47 発信者:リエッチ
題名:RE(6):※解決:メーカー提供のAPI関数について(資源回収ゴミレス)

Takaさん、こんにちは。

>とくに(2)は要注意で、例えばWin32のCopyFileでは、マニュアルには \"CopyFile\"としか書いてありませんが、
>ヘッダファイルを追いかけていくと実際の名前は\"CopyFileA\"および\"CopyFileW\"があって、
>環境に応じてどちらかが\"CopyFile\"として定義されていることがわかります。

上記の文章を読んで、「本当にマニュアルの関数名で定義していいのか?」という疑問を抱き
メーカーに問い合わせて、サンプルソースを見せてもらいました
サンプルは「Visual Basic」だったので、わざわざ「Visual Studio 6.0」をインストールし、
API関数の定義文を見てみると・・・以下の定義でした

\'データ受信
Declare Function HplsUploadStart Lib \"HPLS.DLL\" Alias \"_HplsUploadStart@12\" (ByVal hWnd As Long, 
ByVal wGui As Integer, ByVal bFlg As Long) As Integer

これを見たとき、「alias」をつけなくては駄目なのかしら?と思いました
なんとかDLLの中身をみたいと思い、「Visual Studio 6.0」の中を探してみると
「Dependency Walker」というツールがあり、関数定義文を見ることができました

PowerBuilderの外部関数定義で、「alias \"_HplsUploadStart@12\"」と記述し、
実行してみると・・・使いたい関数全て、正常終了で無事PGが完了しました
Takaさん、本当にありがとうございました。

それと、あすかちゃんの父 さんのHPも本当に役に立ちました。あの変数の対応表は
API初心者の私にとってとてもわかりやすかったです
ありがとうございました。この場を借りてお礼申し上げます

APIレベルがちょっとだけステップアップしました。
ふー


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.