1

私を助けてください..私はビジュアルベーシックの初心者です....

更新を実行すると、エラーが表示されます。プロセスはファイルにアクセスできません'C:\ Documents and Settings \ Macky \ My Documents \ Visual Studio 2008 \ Projects \ Marcelo 2.2.3 \ Marcelo \ bin \ Debug \ Students \ MIC953867 .jpg'は、別のプロセスで使用されているためです。

私のコードはこれです

Public Sub copingfile()
    If inFileName = Nothing Then
        studpic.Image = Nothing
    Else
        outFileName = inFileName
        pos = inFileName.LastIndexOf(".")
        If (pos > 0) Then
            outFileName = outFileName.Substring(0, pos)
        End If
        outFileName += ".jpg"
        str = Application.StartupPath & "\Students\"
        saveJPEGFile.FileName = str & StudID.Text & ".jpg" '& outFileName
        fil1.Copy(inFileName, saveJPEGFile.FileName, True) 'the error shows here...
        outFileName = saveJPEGFile.FileName()
    End If

End Sub

新しい学生の情報を画像で保存できますが、画像の更新時にこれらのコードが機能しませんでした......

4

2 に答える 2

1
 fil1.Copy(inFileName, saveJPEGFile.FileName, True)

開いているか使用中のファイルを上書きしようとしています。ファイルがビューアー/エディターで開かれている場合、コピーすることはできません。手動で開いたか、コードを介して開いたのに、実行中のものにまだ「接続」されています。

ウィンドウで開いていない場合は、コードを停止して、そのファイルを手動で削除してみてください。可能であれば、エラーが発生した行に到達したときに、コード内の何かがまだそれを使用していることは明らかです。そのファイルがまだ使用されている場所を特定する必要があります (どこかでストリームを開きますか? VS 自体で開きますか?)。これは、提供したコードにはないようです。

于 2012-05-14T15:29:48.623 に答える
0

コード リストにない変数を使用しているため、さらにコードを表示する必要があります。さらに、最初に画像を保存するコードは表示されません。

しかし、これが私の推測です...最初にファイルを保存したときにファイルを閉じましたか? 通常、開いているファイルとの間でコピーすることはできません。

(ファイルは共有として開くことができますが、そうしているとは思いません)。

機会があれば、さらにコードを投稿してください。

于 2012-05-14T14:18:49.447 に答える