Тема: Прошлогодние программы не работают

Все программы написанные на VBA под 2004 автокадом отказываются работать в 2007 году. Выдает ошибку 54 'Bad file mode'.
После изменения системной даты на 2006 год все работает в штатном режиме.
Нет ли решения проблемы?

Re: Прошлогодние программы не работают

Может разработчик сделал защиту кода триальной версией.

Re: Прошлогодние программы не работают

Разработчик я)))

Re: Прошлогодние программы не работают

Тогда только код показывать :)

Re: Прошлогодние программы не работают

Private Sub save_nastr()
    mest = "C:\temp\nastr.frr"
    fileNo = FreeFile
    Open mest For Output As #1
        Print #1, CheckBox1    'здесь ошибка
        Print #1, CheckBox2
        Print #1, CheckBox3
        Print #1, CheckBox_n_p
    Close #1
End Sub
при замене даты на 2006 год ошибки не происходит

Re: Прошлогодние программы не работают

Option Explicit
Private Sub CommandButton1_Click()
Dim sFileName As String
Dim iFileNum As Integer
  sFileName = "c:\temp\settings.inf"
  iFileNum = FreeFile()
  Open sFileName For Output As iFileNum
    Print #iFileNum, CStr(CheckBox1.Value)
    Print #iFileNum, CStr(CheckBox2.Value)
    Print #iFileNum, CStr(CheckBox3.Value)
    Print #iFileNum, CStr(CheckBox4.Value)
  Close iFileNum
End Sub

Re: Прошлогодние программы не работают

это все правильно. Но смысла не меняет. Объявлять я пробовал. При системной дате 2006 год - работает, при 2007 - не работает.

Re: Прошлогодние программы не работают

> Владимир
CheckBox1
Обновите контрол может поможет

Re: Прошлогодние программы не работают

Только что специально проверил на 2005 + SP1 и 2007 + SP 1- корректно работает (ОС: WinXP Pro + SP 2).
Может, у тебя просто сам файл не создается? Попробуй нечто типа:

Option Explicit
Private Sub CommandButton1_Click()
Dim sFileName As String
Dim iFileNum As Integer
On Error GoTo lErrHandle
  sFileName = "c:\temp\settings.inf"
  iFileNum = FreeFile()
  Open sFileName For Output As iFileNum
    Print #iFileNum, CStr(CheckBox1.Value)
    Print #iFileNum, CStr(CheckBox2.Value)
    Print #iFileNum, CStr(CheckBox3.Value)
    Print #iFileNum, CStr(CheckBox4.Value)
  Close iFileNum
  Exit Sub
lErrHandle:
  MsgBox "ERROR : " & CStr(Err.Number) & " : " & _
    Err.Description, vbOKOnly + vbCritical + vbApplicationModal
End Sub

Re: Прошлогодние программы не работают

хотите сказать, что контрол имеет срок дествия? но ведь я использую стандартные средства и контролы. И как на них влияет системная дата просто не понимаю... но факт остается фактом

Re: Прошлогодние программы не работают

Проблема решилась! Всем большое спасибо за отклик. Все оказалось просто, мешал касперский. А при смене даты на 2006 год он автоматический отключался и переставал блокировать программу.
Вот такие дела.

Re: Прошлогодние программы не работают

Владимир пишет:

Может разработчик сделал защиту кода триальной версией.SmeL

Всетаки я был прав :)