PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
19980 03/07/25 11:38:59 RE(4):ProfileString()で値を取得できない?? By sishii
19978 03/07/25 11:32:11 RE(3):ProfileString()で値を取得できない?? By hirotyan
19977 03/07/25 10:48:02 RE(2):ProfileString()で値を取得できない?? By sishii
19976 03/07/25 10:43:25 RE(1):ProfileString()で値を取得できない?? By hirotyan
19975 03/07/25 10:38:46 ProfileString()で値を取得できない?? By sishii

カテゴリ:PowerBuilderの不具合?
日付:2003年07月25日 11:32 発信者:hirotyan
題名:RE(3):ProfileString()で値を取得できない??

sishiiさん、こんにちは。

>返信ありがとうございます。
>ファイル名は相対パスで指定しています。。

ProfileString()のヘルプを見ると解りますが、
相対パスで指定すると、OS標準のファイル検索をしてしまうのです。
だから、ProfileString()を使う前にカレントのディレクトリを変更
(他のディレクトリのファイルを開いたりなんかして)してしまうと、
相対パスでは取得できなくなってしまいます。
私もここで、長いこと悩んだことがあります。(笑)

対応策としては、
絶対パスで指定する、ってのがいちばん簡単です。

相対パスを使うなら、
PFCを使っているのなら、
of_GetCurrentDirectory()で、現在のカレントディレクトリを取得、
of_ChangeDirectory()で、好きな場所をカレントのディレクトリに
変更することができます。

PFCを使っていないなら、Win32APIを使う、みたいなややこしいことになりますが、
てとらぽっとさんの
PowerBuilder Developer Station
(http://plaza11.mbn.or.jp/%7Eyuemura/pb/index.html)
のフリーライブラリに、Win32APIを簡単に使える関数を置いて下さっているので、
そういうのを使うのも手です。

っていうか、PBの標準の関数に、ChengeDirectory()を作って欲しい・・・。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

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

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