ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2017年11月21日(火) 11:29

All times are UTC+09:00




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
 記事の件名: fail open
投稿記事Posted: 2016年10月18日(火) 11:58 
初めましてkenjiと言います。
ファイルのオープンで過去に下記の文例があります。
しかしファイルオープンの画面は出ますが、キーを全く受付けなくなります。ABを強制終了しかなりません。。
なぜでしょうか。(ABはVer4.24です。)
Dim hEdit As Long
Dim ofn As OPENFILENAME
Dim hFile As Long
Dim dwFileSize As DWord
Dim dwAccessByte As DWord
Dim FileName[MAX_PATH-1] As Byte
Dim buffer As String

'OPENFILENAME構造体の初期化
FillMemory(VarPtr(ofn),Len(ofn),0)
ofn.lStructSize=Len(ofn)
ofn.hwndOwner=hMainWnd
ofn.lpstrFilter=Ex"テキスト ファイル(*.txt)\0*.txt\0すべてのファイル(*.*)\0*\0\0"
ofn.nFilterIndex=1
ofn.lpstrFile=FileName
ofn.nMaxFile=MAX_PATH
ofn.lpstrTitle="ファイルを開く"
ofn.Flags=OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST
ofn.lpstrDefExt="*"

'「ファイルを開く」ダイアログ ボックスを表示
If GetOpenFileName(ofn)=0 Then Exit Sub

'-------------------
' ファイル オープン
'-------------------
hFile=CreateFile(ofn.lpstrFile, GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, _
ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
If hFile=INVALID_HANDLE_VALUE Then
MessageBox(hMainWnd,"ファイルオープンに失敗","TextEditor",MB_OK or MB_ICONEXCLAMATION)
Exit Sub
End If

'ファイルサイズを取得し、バッファを確保する
dwFileSize=GetFileSize(hFile,0)
buffer=ZeroString(dwFileSize+1)

'ファイルの内容を文字列変数bufferに読み込む
ReadFile(hFile,StrPtr(buffer),dwFileSize,VarPtr(dwAccessByte),ByVal 0)
buffer[dwAccessByte]=0

'ファイル ハンドルを閉じる
CloseHandle(hFile)

'-------------------


'EditBox1のハンドルを取得
hEdit=GetDlgItem(hMainWnd, EditBox1)

'hEditにバッファをセットする
SetWindowText(hEdit,buffer)

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

SetFocus(hEdit)


通報する
ページトップ
   
 記事の件名: Re: fail open
投稿記事Posted: 2016年10月18日(火) 17:17 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 189
住所: 東京都
私のPC(Windows 7/32Bit)では問題なく動きました。
Windows は10(32Bit/64Bit)、8.1(32Bit/64Bit)、7(32Bit/64Bit)のどれをお使いですか?
よろしくお願いします。


通報する
ページトップ
 記事の件名: Re: fail open
投稿記事Posted: 2016年10月22日(土) 15:36 
たかせさんレスをありがとうございました。
XPの時はABで作成中も動作していました。
WIN7、32bitになってから固まるようになりました。
ただコンパイルした後のソフト上では動作しています。


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 

All times are UTC+09:00


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[3人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by KONISHI Yohsuke