タイトル : Re^2: パスワードがかかったAccessにiniファイルからのデータを持ってくるとエラー 投稿日 : 2006/02/24(Fri) 23:23 投稿者 : とみぃだ
朝早くからありがとうございます。 仕事が遅くなってしまって返事が遅れました。 > 値が返されるlpReturnedStringはString型よりもStringBuilder型の方が > よいと思います。String型はある意味定数で,値の変更を許しません。String型の > 変数の内容を変える場合,確か内部的には新しいString型の変数が作成され,結果が > そこにコピーされて戻されるはずです。一方StringBuffer型は内容を変更できます。 > バッファを用意してそこの内容を書き換えさせる場合にはStringBuffer型の方がふさわしい > といえます。 > 最後にlpReturnedString.ToStringとすればよいはずです。 <MarshalAs(UnmanagedType.LPTStr)> ByVal lpReturnedString As String, _ を <MarshalAs(UnmanagedType.LPTStr)> ByVal lpReturnedString.tostring As String, _とか <MarshalAs(UnmanagedType.LPTStr)> ByVal lpReturnedString As StringBuffer, _とか してもだめですね。 > > それでもエラーになるようでしたらDebug.WriteLine(String.Format ""{0}"" ;,""{1}""",b,c) > を仕込んでどんな文字列が渡されているか確かめたらよいと思います。そこでエラーが > 出る以上,b と c の中身が異なっていることは間違いないと思います。 ソースを埋め込んだら青色破線がでましたが・・・。 > 文字列が同じだとしたらエンコードが違うかもしれません。もしかしてパスワードに2バイト > 文字とか使えたりするんですか?(調べないで書いてます。すみません。) パスワードは半角英文字だけの予定です。 よろしければもう一度おしえてください。 |