ab.com コミュニティ https://www.activebasic.com/forum/ |
|
fail open https://www.activebasic.com/forum/viewtopic.php?t=4602 |
ページ 1 / 1 |
作成者: | kenji [ 2016年10月18日(火) 11:58 ] |
記事の件名: | fail open |
初めまして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) |
作成者: | たかせ [ 2016年10月18日(火) 17:17 ] |
記事の件名: | Re: fail open |
私のPC(Windows 7/32Bit)では問題なく動きました。 Windows は10(32Bit/64Bit)、8.1(32Bit/64Bit)、7(32Bit/64Bit)のどれをお使いですか? よろしくお願いします。 |
作成者: | kenji [ 2016年10月22日(土) 15:36 ] |
記事の件名: | Re: fail open |
たかせさんレスをありがとうございました。 XPの時はABで作成中も動作していました。 WIN7、32bitになってから固まるようになりました。 ただコンパイルした後のソフト上では動作しています。 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |