хедеры и либы
#1
Отправлено 14 августа 2006 - 14:10
есть некая собственная ф-ция My_Func(...)
её тело я описываю в неком файле my.sbl и делаю include "my.sbh" в этой либе
в файле my.sbh пишу Declare Function My_Func BasicLib "my" (...)
потом в скипте подключаю "my.sbh"
компиляется без ошибки, но когда начинается run, то появляется месага об ошибке - файл my не найден
кто знает, что я тут может быть не так
или свои ф-ции не как-то не так подключать нужно к скрипту?
#2
Отправлено 14 августа 2006 - 14:25
#4
Отправлено 14 августа 2006 - 14:47
Зачем подключать к my.sbl хедер, в котором потом описываете функцию из sbl?её тело я описываю в неком файле my.sbl и делаю include "my.sbh" в этой либе
в файле my.sbh пишу Declare Function My_Func BasicLib "my" (...)
потом в скипте подключаю "my.sbh"
#5
Отправлено 14 августа 2006 - 14:53
Зачем подключать к my.sbl хедер, в котором потом описываете функцию из sbl?её тело я описываю в неком файле my.sbl и делаю include "my.sbh" в этой либе
в файле my.sbh пишу Declare Function My_Func BasicLib "my" (...)
потом в скипте подключаю "my.sbh"
ну это я для верности попробовала :)
а вообще кто как подключает свои ф-ции не в теле скрипта?
#6
Отправлено 14 августа 2006 - 15:14
Для верности чего?ну это я для верности попробовала :)
в скрипте -а вообще кто как подключает свои ф-ции не в теле скрипта?
'$include "my.sbh" Sun Main call MyFunc End Subв "my.sbh"
Declare Sub MyFunc BasicLib "my" ()в my.sbl
Sub MyFunc () `my code End Sub
#7
Отправлено 15 августа 2006 - 06:24
'$include "my.sbh" Sun Main call MyFunc End Subв "my.sbh"
Declare Sub MyFunc BasicLib "my" ()в my.sbl
Sub MyFunc () `my code End Sub[/quote]
ну вот и у меня так,только во время исполнения скрипта появляется ошибка
"Runtime error '53'. File 'my' not found"
:(
в чём может быть прикол?
#8
Отправлено 15 августа 2006 - 08:48
Если совпадает, то попробуйте изменить или имя библиотеки или имя скрипта. Перекомпилировать все и запустить скрипт снова.
#10
Отправлено 15 августа 2006 - 09:03
Возможно буква "y" где-то написана в кирилице?? Может попробуй перенабрать наименования процедуры, библиотеки и заголовочного файла в латинице...
#11
Отправлено 15 августа 2006 - 09:07
Странно, я попробовала создать библиотеку с телом процедуры, заголовочный файл с объвлением процедуры и скрипт с вызовом той же процедуры и все заработало...
Возможно буква "y" где-то написана в кирилице?? Может попробуй перенабрать наименования процедуры, библиотеки и заголовочного файла в латинице...
дело в том,что у меня не процедура,а функция :\
с процедурой попробовала,всё работает
что делать,если функция :)
#12
Отправлено 15 августа 2006 - 09:27
Вот пример:
Скрипт - "MyScript"
'$include "mylib.sbh" Sub Main Dim Result As String Result = MyFunc End Sub
Библиотека (*.sbl) - "mylib"
Function MyFunc As String MyFunc = "test" End Function
Заголовочный файл библиотеки (*.sbh) - "mylib"
Declare Function MyFunc BasicLib "mylib" As String
Компилируем, запускаем - ну просто обязано работать.
#13
Отправлено 15 августа 2006 - 09:38
Ну судя по коду у вас там как раз процедура.. хотя для данного случая разницы нет.
Вот пример:
Скрипт - "MyScript"'$include "mylib.sbh" Sub Main Dim Result As String Result = MyFunc End Sub
Библиотека (*.sbl) - "mylib"Function MyFunc As String MyFunc = "test" End Function
Заголовочный файл библиотеки (*.sbh) - "mylib"Declare Function MyFunc BasicLib "mylib" As String
Компилируем, запускаем - ну просто обязано работать.
всё та же фигня, месага "Runtime error '53' ... "
:(
#14
Отправлено 21 августа 2006 - 13:14
-в хедер засовывал не объявление, а описание функции
-либов не делал
-в скрипте инклюдил хедер
Вроде так как-то...
#15
Отправлено 22 августа 2006 - 05:28
#16
Отправлено 23 августа 2006 - 07:43
В этом случае, вы не сможете в пошаговом режиме проверять выполнение процедуры/функции, описанной в теле подключаемой библиотеки.Не знаю, с чем это связано, но если вместо '$include "mylib.sbh" написать '$include "mylib.sbl", то все заработает. Во всех моих скриптах так написано.
Если же вы подключаете *.SBH файл, то вы можете отслеживать выполнение процедуры/функции по строкам.
#17
Отправлено 23 августа 2006 - 11:25
В этом случае, вы не сможете в пошаговом режиме проверять выполнение процедуры/функции, описанной в теле подключаемой библиотеки.Не знаю, с чем это связано, но если вместо '$include "mylib.sbh" написать '$include "mylib.sbl", то все заработает. Во всех моих скриптах так написано.
Если же вы подключаете *.SBH файл, то вы можете отслеживать выполнение процедуры/функции по строкам.
ага
хотелось бы дебажить, потому интересует именно через хедер и либу подключать
#18
Отправлено 28 декабря 2006 - 15:19
Tanya, если Вы нашли решение, напишите, пожалуйста!
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных