Перейти к содержимому

Фотография

хедеры и либы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18

#1 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 14 августа 2006 - 14:10

люди, помогите плиз разобраться
есть некая собственная ф-ция My_Func(...)
её тело я описываю в неком файле my.sbl и делаю include "my.sbh" в этой либе
в файле my.sbh пишу Declare Function My_Func BasicLib "my" (...)
потом в скипте подключаю "my.sbh"
компиляется без ошибки, но когда начинается run, то появляется месага об ошибке - файл my не найден
кто знает, что я тут может быть не так :crazy:

или свои ф-ции не как-то не так подключать нужно к скрипту?
  • 0

#2 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 14 августа 2006 - 14:25

Путь, к директории с библиотеками, правильно указан в Tools->General Options->Preferences, поле SQABasicPath?
  • 0

#3 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 14 августа 2006 - 14:33

Путь, к директории с библиотеками, правильно указан в Tools->General Options->Preferences, поле SQABasicPath?

Просмотр сообщения




ага
и хедер и либа лежат по тому пути
  • 0

#4 greyver

greyver

    Опытный участник

  • Members
  • PipPipPipPip
  • 358 сообщений
  • ФИО:Вербенко Сергей Анатольевич
  • Город:Москва, Зеленоград


Отправлено 14 августа 2006 - 14:47

её тело я описываю в неком файле my.sbl и делаю include "my.sbh" в этой либе
в файле my.sbh пишу Declare Function My_Func BasicLib "my" (...)
потом в скипте подключаю "my.sbh"

Зачем подключать к my.sbl хедер, в котором потом описываете функцию из sbl?
  • 0

#5 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 14 августа 2006 - 14:53

её тело я описываю в неком файле my.sbl и делаю include "my.sbh" в этой либе
в файле my.sbh пишу Declare Function My_Func BasicLib "my" (...)
потом в скипте подключаю "my.sbh"

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

Просмотр сообщения



ну это я для верности попробовала :)
а вообще кто как подключает свои ф-ции не в теле скрипта?
  • 0

#6 greyver

greyver

    Опытный участник

  • Members
  • PipPipPipPip
  • 358 сообщений
  • ФИО:Вербенко Сергей Анатольевич
  • Город:Москва, Зеленоград


Отправлено 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

  • 0

#7 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 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"
:(
в чём может быть прикол?
  • 0

#8 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 15 августа 2006 - 08:48

Имя скрипта совпадает с наименованием библиотеки (т.е "my")?
Если совпадает, то попробуйте изменить или имя библиотеки или имя скрипта. Перекомпилировать все и запустить скрипт снова.
  • 0

#9 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 15 августа 2006 - 08:51

Имя скрипта совпадает с наименованием библиотеки (т.е "my")?
Если совпадает, то попробуйте изменить или имя библиотеки или имя скрипта. Перекомпилировать все и запустить скрипт снова.

Просмотр сообщения



имя скрипта отличается :(
  • 0

#10 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 15 августа 2006 - 09:03

Странно, я попробовала создать библиотеку с телом процедуры, заголовочный файл с объвлением процедуры и скрипт с вызовом той же процедуры и все заработало...
Возможно буква "y" где-то написана в кирилице?? Может попробуй перенабрать наименования процедуры, библиотеки и заголовочного файла в латинице...
  • 0

#11 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 15 августа 2006 - 09:07

Странно, я попробовала создать библиотеку с телом процедуры, заголовочный файл с объвлением процедуры и скрипт с вызовом той же процедуры и все заработало...
Возможно буква "y" где-то написана в кирилице?? Может попробуй перенабрать наименования процедуры, библиотеки и заголовочного файла в латинице...

Просмотр сообщения




дело в том,что у меня не процедура,а функция :\
с процедурой попробовала,всё работает
что делать,если функция :)
  • 0

#12 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 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

Компилируем, запускаем - ну просто обязано работать.
  • 0

#13 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 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' ... "
:(
  • 0

#14 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 21 августа 2006 - 13:14

Была такая-же ерунда, работал так:
-в хедер засовывал не объявление, а описание функции
-либов не делал
-в скрипте инклюдил хедер
Вроде так как-то...
  • 0

#15 zina

zina

    Новый участник

  • Members
  • Pip
  • 12 сообщений

Отправлено 22 августа 2006 - 05:28

Не знаю, с чем это связано, но если вместо '$include "mylib.sbh" написать '$include "mylib.sbl", то все заработает. Во всех моих скриптах так написано.
  • 0
Zinaida[COLOR=orange]

#16 Tiana

Tiana

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Girnyk S. Tatyana
  • Город:Украина, Харьков

Отправлено 23 августа 2006 - 07:43

Не знаю, с чем это связано, но если вместо '$include "mylib.sbh" написать '$include "mylib.sbl", то все заработает. Во всех моих скриптах так написано.

Просмотр сообщения

В этом случае, вы не сможете в пошаговом режиме проверять выполнение процедуры/функции, описанной в теле подключаемой библиотеки. :clapping:
Если же вы подключаете *.SBH файл, то вы можете отслеживать выполнение процедуры/функции по строкам.
  • 0

#17 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 23 августа 2006 - 11:25

Не знаю, с чем это связано, но если вместо '$include "mylib.sbh" написать '$include "mylib.sbl", то все заработает. Во всех моих скриптах так написано.

Просмотр сообщения

В этом случае, вы не сможете в пошаговом режиме проверять выполнение процедуры/функции, описанной в теле подключаемой библиотеки. :angel:
Если же вы подключаете *.SBH файл, то вы можете отслеживать выполнение процедуры/функции по строкам.

Просмотр сообщения





ага
хотелось бы дебажить, потому интересует именно через хедер и либу подключать
  • 0

#18 Saleb

Saleb

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 28 декабря 2006 - 15:19

У меня такой же случай как описан, тоже ошибка Runtime error '53' возникает.
Tanya, если Вы нашли решение, напишите, пожалуйста!
  • 0

#19 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 28 декабря 2006 - 15:33

У меня такой же случай как описан, тоже ошибка Runtime error '53' возникает.
Tanya, если Вы нашли решение, напишите, пожалуйста!

Просмотр сообщения



Вы знаете, я точно не помню, вроде что-то было связанно с тем, что я в либу внесла изменения и не откомпилила её,а потом скрипт
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных