ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月20日(土) 17:48

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - ファイル名を分割した後に落ちる
作成者 メッセージ
  記事の件名:  確認しました  引用付きで返信する
詳しく教えて頂きありがとうございました、こちらでも動作を確認しました。
しかし、コードの上の方で似たようなことやってながら全く気が付かなかった。OTL
投稿記事 Posted: 2005年6月12日(日) 14:52
  記事の件名:  Re: ファイル名を分割した後に落ちる  引用付きで返信する
コード:
Dim Fname As String
Fname = ZeroString(MAX_PATH)
_splitpath(FileName, NULL, NULL, Fname, NULL)
のようにしなければなりません。
_splitpath関数(に限りませんが)で文字列を返してもらうときには、返してもらう変数に領域を確保しないとエラーか強制終了になります(これを行うのがZeroStringの行)。
また、取得しなくてもいい要素は、NULLを指定して受け取らないようにすることができます。私が書いた_splitpathの行でNULLが3つもあるのはそういうことです。
もし他の要素も欲しい場合、文字列変数にZeroString関数で適当な領域(サイズがわからなければMAX_PATHだけあれば確実)を確保し、それを引数に指定してください。

つまり、ABのバグではありません(^^;
投稿記事 Posted: 2005年6月12日(日) 12:09
  記事の件名:  ファイル名を分割した後に落ちる  引用付きで返信する
ステップ11 「テキスト エディタを作る」の「開く」メニュー イベントの

'hEditにフォーカスをセット
SetFocus(hEdit)

のあとに以下のコードを追加しタイトルバーにファイル名を表示させようとしました

  'タイトルバーにファイル名を表示
    Dim DrivePath As String
    Dim DirPath As String
    Dim Fname As String
    Dim ExName As String

    _splitpath(FileName, DrivePath, DirPath, Fname, ExName)
    SetWindowText(hMainWnd, Fname)

デバックで動作を確認すると、メニューからファイルを開くを選らび目的のファイルを選択し開いた瞬間に落ちてしまいます。このときにエラーはでませんでした。

因みに
    SetWindwoText(hMainWnd, FileName)
だけならフルパスのファイル名がタイトルバーに設定されました

また、ファイル名を分割した後
    MessageBox(0,Fname,"",MB_OK)
で確認する事まではできました。しかしOKを押した後ですぐに落ちてしまいました。理由がわからずバグかと思われましたのでここに投稿させていただきます。
投稿記事 Posted: 2005年6月12日(日) 03:25

全ての表示時間は UTC+09:00 です


ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean