VB6.0 вызывает подпрограмму, написанную в модуле BAS, из модуля класса CLS, не работающего

Я пишу проекты VB6.0 (DLL с COM+), начиная с ранее написанного кода. У меня есть CLS-файл «основного» модуля класса с «основными» функциями, потоком процессов и т. д. У меня также есть «боковой» модуль BAS, где я сохраняю все функции/подпрограммы для использования в качестве инструментов в моем «основном» модуле класса. .

Я написал очень простую систему ведения журнала (потому что мне очень некомфортно с App.LogEvent("blablabla") ), но я не могу скомпилировать DLL. Сообщение указывает мне на вызов CLS, и я думаю, что проблема связана с Sub, который должен возвращать значение, но я не хочу возвращать какое-либо значение из этого Sub! Я новичок в VB6.0, и улучшить существующий исходный код довольно сложно.

Вот мой модуль БАС

Public Sub LogMyApp(ByVal sFunctionName As String, ByVal sLogEntry As String)

    Dim sLogPath As String
    sLogPath = "C:\Temp\MyLog.txt"

    Dim fn As Integer
    fn = FreeFile

    Open sLogPath For Append As #fn
    Write #fn, Now & "|" & sFunctionName & "|" & sLogEntry
    Close #fn

End Sub

Вот мой вызов модуля класса CLS для этого Sub внутри модуля BAS.

LogMyApp ( "FunctionBlaBla" , "blablabla" )

Любая помощь очень ценится! Большое спасибо!


person TPPZ    schedule 15.03.2012    source источник
comment
Пожалуйста, добавьте точное сообщение об ошибке.   -  person Adriano Repetti    schedule 15.03.2012


Ответы (1)


Простое исправление, удалите скобки, поскольку вы не вызываете функцию;

LogMyApp "FunctionBlaBla" , "blablabla"

(Или как чисто визуальный префикс с ключевым словом Call; call LogMyApp(...))

person Alex K.    schedule 15.03.2012
comment
Это решило проблему! Я был уверен, что это действительно простое исправление, мне нужно написать гораздо больше строк VB6.0, потому что я новичок! Спасибо! - person TPPZ; 15.03.2012
comment
+1 Это, конечно, один из классических 13 способов получить VB6< /а> - person MarkJ; 18.03.2012