Det hjälpte med att dubblera värdet på .MaxFileSize. Default värde är 256. Lite märkligt eftersom filenamnets totala innehåll inklusive path ej överskrider 50 bytes. Hej cD1 = Microsoft Common Dialog Control 6.0 (SP3), Comdlg32.ocxProblem med Common Dialog i Win98 - Problemet löst!
----------------------------------------------------------------------------------
Jag har ett program som fungerar utmärkt i flera Win98, men ej i några. Felmeddelandet blir:
'20476
|
The fileName buffer is too small to store the selected fileName(s) (Increase max file size)',
men om jag dubbelklickar på en fil-icon öppnas filen korrekt och filnamn + sökväg är 50 bytes.
Default MaxFileSize är dubblerad och täcker flera gånger om filnamn och sökväg.
.
Är det någon som har något tips? Så här ser koden ut:
Private Sub cmdSource_Click() 'Open a file to encrypt or decrypt
Dim sText As String
Dim HurStorFil As Long
Dim iPos As Integer
On Error GoTo ERRH
sText = ""
Unload frmBrowser
Set frmBrowser = Nothing
Unload frmText
Set frmText = Nothing
lblSource = ""
lblDest = ""
cmdOpen.Enabled = False
With cD1
.CancelError = True
.DialogTitle = "Select a file to encrypt or decrypt"
.MaxFileSize = 512 'Default dubblerad
.Flags = cdlOFNFileMustExist
.InitDir = "C:\"
.FileName = ""
.Filter = "All Files (*.*)|*.*|Text Files (*.txt)|*.txt|Coded Files (*.cod)|*.cod"
.ShowOpen 'Problemet uppstår då filen skall öppnas!!!!
MsgBox "File to open: " & .FileName
HurStorFil = Round(FileLen(.FileName) / 1024)
lblWorking.Caption = " Source file size: " & HurStorFil & " kB" & " Estimated working-time: " & Round(HurStorFil / 75, 2) & " Seconds"
End With
iPos = InStr((cD1.FileName), ".") 'Check existing file-extension
If iPos = 0 Then 'If not existing fill-in full path
sText = InputBox("Error! Fill-in complete file-name including file-extension and full path!")
If vbCancel Then
lblWorking.Caption = ""
Exit Sub
End If
cD1.FileName = sText
lblSource = cD1.FileName
iPos = InStr((cD1.FileName), ".")
Else:
lblSource = cD1.FileName
End If
cmdClear.Enabled = True
cmdSource.Enabled = False
cmdDestination.Enabled = True
lblDest = ""
If bShowDest = False Then
cmdOpen.Enabled = True
bOpenFile = False
Else:
cmdOpen.Enabled = False
bOpenFile = True
frmMain.MousePointer = vbHourglass
If Right$(cD1.FileName, 3) = "cod" Then
frmText.Show
Else:
frmBrowser.Show
End If
End If
Exit Sub
ERRH:
MsgBox Err.Number & vbCr & Err.Source & vbCr & Err.Description, vbInformation, ATITLE
MousePointer = vbDefault
End SubSv: Problem med Common Dialog i Win98
Snabbt och kanske fel, men det verkar vara Unicode problem.
tror
SvenSv: Problem med Common Dialog i Win98