ActiveBasicを通したコミュニケーション
コンテンツへ
by yu0627 » 2005年11月26日(土) 23:12
Bオフィシャルユーザーズガイド3.1.0のテキストエディタを作るで「メール送信機能を作る」に従ってコードを作成しましたが、下記のWindowsのエラーが出てしまいます。Codeは7月4日付のゲストさんが示されているのと同じです。ABのバージョンはは4.11.01です。OSはXp HomeE Sp2 です。 また別の質問ですが Sinryowさんが7月8日に書いておられる変数Recvtempの意味と型と宣言する場所はどこでしょうか?
"0x00406544"の命令が0x0016b000のメモリを参照しました。 メモリがreadになることは出来ませんでした。" 接続を繰り返すと数字とreadがwrittenに変わったメッセージが出ます。 たびたびお手数をかけますがお願いいたします。
by 矢田裕康 » 2005年11月26日(土) 22:25
by yu0627 » 2005年7月19日(火) 18:33
by Abs » 2005年7月19日(火) 10:33
by yu0627 » 2005年7月17日(日) 18:44
by Abs » 2005年7月16日(土) 19:59
by yu0627 » 2005年7月16日(土) 17:31
by Abs » 2005年7月16日(土) 12:44
by Abs » 2005年7月16日(土) 11:32
by Abs » 2005年7月16日(土) 11:28
コード: 全て選択
Sub MainWnd_CommandButton1_Click() Const NUM_TABROWS = 4 Dim i As Long Dim n As Long Dim nLen As Long Dim pszDest As *Byte Dim pszSrc As *Byte nLen = GetWindowTextLength( GetDlgItem(hMainWnd, EditBox1) ) If nLen = 0 Then Exit Sub pszSrc = calloc(nLen + 1) If pszSrc = NULL Then Exit Sub If GetWindowText(GetDlgItem(hMainWnd, EditBox1), pszSrc, nLen + 1) = 0 Then Goto *ExitTag '文章中のタブ数を数える。 While i < nLen If IsDBCSLeadByte( pszSrc ) Then i = i + 1 ElseIf pszSrc = 9 Then n = n + 1 End If i = i + 1 Wend If n = 0 Then Exit Sub pszDest = calloc(nLen + (n * NUM_TABROWS) + 1) If pszDest = NULL Then Goto *ExitTag Dim k As Long '全ての文章データを、1バイトずつ検証してタブなら半角空白に置き換える。 i = 0 While i < nLen '全角文字(2バイト)の先頭なら、2バイト分をコピー。 If IsDBCSLeadByte( pszSrc ) Then memcpy(pszDest + k, pszSrc + i, 2) k = k + 2 i = i + 1 'タブなら、タブの列数分の半角空白をコピー。 ElseIf pszSrc = 9 Then lstrcpy( pszDest + k, String$(NUM_TABROWS, " ") ) k = k + NUM_TABROWS '半角文字なら、1バイト分をコピー。 Else pszDest[k] = pszSrc k = k + 1 End If i = i + 1 Wend SetWindowText(GetDlgItem(hMainWnd, EditBox1), pszDest) MsgBox 0, Str$(n) + " 個のタブを置き換えました" *ExitTag If pszSrc Then free(pszSrc) If pszDest Then free(pszDest) End Sub
by yu0627 » 2005年7月15日(金) 20:31
by Abs » 2005年7月11日(月) 23:22
by yu0627 » 2005年7月11日(月) 19:48
by Abs » 2005年7月11日(月) 19:37
by Abs » 2005年7月11日(月) 19:09
ページトップ