PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
492 99/01/18 20:02:03 RE(3):Win16APIとWin32APIの違いについて By M.M
491 99/01/18 16:10:01 RE(2):PB4→PB6移行時のトラブルについて By Nobuya
490 99/01/18 11:46:39 RE(1):PB4→PB6移行時のトラブルについて By M.M
489 99/01/14 13:09:09 PowerBuilder6.0のメモリ障害 By Nobuya

カテゴリ:その他
日付:1999年01月18日 20:02 発信者:M.M
題名:RE(3):Win16APIとWin32APIの違いについて

>>もし、CoReportのAPIをPowerBuilderから外部関数でコールしている場合、PB4(Win3.1.16bit)と
>>PB6(WinNT/95,32bit)ではAPIの記述の仕方が変わっていると思います。

>CoReportsから提供されているDLLを外部関数として宣言して使用しています。
>CoReportsを使用している部分のすべてができないのであればいろいろと考えられるのですが
>何個所かで使用しているCoReportsの出力機能(バーコード付き帳票)のうち問題なくできるところも
>あれば、何回やってもエラーになってしまう(一般保護違反)などなど、原因が特定できません。
>CoReportsを使用している部分でのスクリプトの記述方法はみんな同じです。

一般的なAPIの話しをすると、Win16APIとWin32APIを比較すると、同じ記述のAPIもありますし、同じ機能を
持つAPIでも書式が変更されていることもあります。その他にWin32APIで削除されているAPIもあります。

特に問題になるのは、文字列をパラメータに持つAPIです。
Win95/98/NT(日本語環境)では、UnicodeとシフトJISの両方をサポートしていますので、同じAPIでも
Unicode用のAPIとシフトJIS用のAPIがあります。そのため同じAPIでも書式の変更があります。
(例)Win16API:FindWindow, Win32API(ShiftJIS):FindWindowA

また、特にWinNTではメモリ管理がWin3.1よりはしっかりしているので、Win3.1でOKだったロジックが
WinNTでひっかかっている可能性もあります。(エラーメッセージから推測すると可能性が高そう)

>PB6.0でメモリ関連の不具合って出てますか?
>今は6.5でちゃんと動作することを祈ってリリースを待っています。
PBにもいろいろとバグがあります。(笑)
しかし、この件がPBのバグかといえるかどうか難しいところです。

#追記:「PowerBuilderユーザーズガイド」をチェックしていたら、同じ発言がありました。
    そっちでコメントすればよかったですね。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

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