tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^6: INI ファイルへの読み書き
投稿日: 2004/08/18(Wed) 14:58
投稿者花ちゃん
> 引数に渡したデータが破壊されてしまうようです。1回目のWritePrivateProfileString関数の
> 呼び出しで変数IniFileNameの中身が破壊され、2回目に指定するパスは異なったものになります。
> #過去に別所で同様の問題があがっていたので実験したことがあります。

フォローありがとうございます。
テストして見たら上記現象が確認できました。
私も理解不足なのですが、今回の事は、通常のAPI関数でも同様の現象はおきるのでしょうか?

取り敢えず、下記のように宣言を変えて試して見たら正常に読み書きができました。
UPしてあるのも修正しておきます。

  Imports System.Runtime.InteropServices

    <DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> _
    Public Shared Function GetPrivateProfileString _
        (ByVal lpAppName As String, _
         ByVal lpKeyName As String, _
         ByVal lpDefault As String, _
         ByVal lpReturnedString As String, _
         ByVal nSize As Integer, _
         ByVal iniFilename As String) As Integer
    End Function

    <DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> _
    Public Shared Function WritePrivateProfileString _
        (ByVal lpApplicationName As String, _
         ByVal lpKeyName As String, _
         ByVal lpString As String, _
         ByVal lpFileName As String) As Integer
    End Function

    <DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> _
    Public Shared Function GetPrivateProfileInt _
        (ByVal lpApplicationName As String, _
         ByVal lpKeyName As String, _
         ByVal nDefault As Integer, _
         ByVal lpFileName As String) As Integer
    End Function

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。