Страница: 1 |
Пробовал написать прогу, что бы она использовала текст из текст-бокса в виде кода. Все делал так, как написано в примере, но программа работает только когда я ее разрабатываю, а когда компилирую в экзешник, то все глючит. Может кто знает из-за чего это происходит? Хелп!
Тоже хочу такие проги писать )) (админы: запостил для того, чтобы мне на мыло тоже приходили ответы) Хе-хе... А такую сделал... Всё дело в библиотеке. Наверное у тебя она не установлена. А из Бейсика она работает нормально. to DAN: попробовал зарегестрировать dll'ку (VBA6.dll) но он пишет что "VBA6.dll была загружена, но найти точку входа для DllRegisterServer не удалось. Зарегестрировать этот файл не возможно". не знаю что еще предпринять to Александр: напиши если не трудно как ты сделал подобную прогу. 2ISpy: во, этот тот код! НО! Он работает только когда код написан в одну строчку и в нем нет комментариев. Как раз на эту тему я топик и задал. Смотри, если надо. Попробовал это код, но он выделяет в листинге: "Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long" и пишет: "Compile error: Constants, fixed-lenght strings, arrays, user-defined types and Declare statements not allowedas Public members of object modules" может кто знает что это занчит? Все! прога ни под каким предлогом не хочет работать в откомпилированном виде. Перепробовал все что мне подсказали но результат = 0 Оч жаль. P.S. тема закрыта. Страница: 1 |
Вопрос: Текст, как код проги...
Добавлено: 21.03.04 19:59
Автор вопроса: ISpy | Web-сайт:
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Chill
ICQ: 554200
Вопросов: 101
Ответов: 343
Профиль | | #1
Добавлено: 21.03.04 20:13
Номер ответа: 2
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #2
Добавлено: 21.03.04 20:58
Номер ответа: 3
Автор ответа:
DAN
ICQ: 234826
Вопросов: 10
Ответов: 124
Web-сайт:
Профиль | | #3
Добавлено: 21.03.04 22:03
Номер ответа: 4
Автор ответа:
Clubber
Вопросов: 1
Ответов: 18
Профиль | | #4
Добавлено: 22.03.04 22:53
напиши свой встроенный интерпритатор, и язык, подобный бейсику, и будешь гонять чё хош и как хош...
Номер ответа: 5
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #5
Добавлено: 23.03.04 19:29
Номер ответа: 6
Автор ответа:
2San
Вопросов: 11
Ответов: 68
Профиль | | #6
Добавлено: 23.03.04 20:29
Не надо ее регистрировать. Главное чтобы она была в системной папке или в
папке с прогой. Попробуй заюзать этот код:
Declare Function EbExecuteLine Lib "vba6.dll" _
(ByVal pStringToExec As Long, ByVal Foo1 As Long, _
ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long
' For VB5 IDE
'Declare Function EbExecuteLine Lib "vba5.dll" _
(ByVal pStringToExec As Long, ByVal Foo1 As Long, _
ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long
' FOR Access 97/VBE.dll clients like Word 97 and Excel 97
'Declare Function EbExecuteLine Lib "vba332.dll" _
(ByVal pStringToExec As Long, ByVal Foo1 As Long, _
ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long
Function FExecuteCode(ByVal stCode As String, Optional ByVal fCheckOnly As Boolean) As Boolean
FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Sub Main()
'normal message without syntax error
MsgBox FExecuteCode("msgbox (56+4)/2 & vbcrlf &""Super calculator!"",48", False)
'message with syntax error: skip &
MsgBox FExecuteCode("msgbox & vbcrlf &""Super calculator!"",48", False)
End Sub
'Origin: Сдал сессию - сдай посуду!
Номер ответа: 7
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #7
Добавлено: 24.03.04 05:54
Номер ответа: 8
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #8
Добавлено: 24.03.04 15:07
Номер ответа: 9
Автор ответа:
2San
Вопросов: 11
Ответов: 68
Профиль | | #9
Добавлено: 24.03.04 21:08
Если ты этот код вставил в форму, то конечно он работать не будет. В форме
нельзя объявлять глобальные (Public) АПИ ф-ии. Поробуй объявить так:
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long
> Origin: Одна девочка имела счастье. Счастье тоже в долгу не осталось.
Номер ответа: 10
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #10
Добавлено: 25.03.04 13:55