Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 6

Динамическое исполнение кода из TXT файла в Runtime - проблема?

25.08.2011, 19:31. Показов 1249. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код (взял на VBNET.RU) :

Code
Visual Basic
1
2
3
4
5
6
7
8
 'КОД МОДУЛЯ
 
Public Function secret() As String
secret = 'this is a secret subroutine'
End Function
Public Sub secret2()
MsgBox 'this is a secret subroutine 2'
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
'КОД ФОРМЫ
 
Option Compare Text
Option Explicit
 
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
 
' 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(stCode As String, Optional fCheckOnly As Boolean) As Boolean
FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
 
Private Sub Combo1_Click()
Text1.Text = Combo1.List(Combo1.ListIndex)
End Sub
 
Private Sub Command1_Click()
Dim res As Boolean
res = FExecuteCode(Text1.Text)
Label1.Caption = 'Status = ' & res
End Sub
 
Private Sub Form_Load()
Combo1.AddItem '?secret'
Combo1.AddItem 'msgbox secret'
Combo1.AddItem 'secret2'
Combo1.AddItem 'For x=0 to 5:?' & Chr$(34) & 'hello ' & Chr$(34) & '&x:next:beep'
Combo1.AddItem 'sendkeys ' & Chr$(34) & '{TAB}' & Chr$(34) & ':sendkeys ' & Chr$(34) & '{up}' & Chr$(34)
Combo1.AddItem 'shell ' & Chr$(34) & 'calc.exe' & Chr$(34) & ',vbNormalFocus'
Combo1.AddItem 'shell ' & Chr$(34) & 'c:windowsexplorer.exe::{20D04FE0-3AEA-1069-A2D8-08002B30309D}' & Chr$(34) & ',vbNormalFocus'
Combo1.AddItem 'form1.text1.visible=false'
Combo1.AddItem 'form1.text1.visible=true'
Combo1.AddItem 'form1.combo1.listindex=1'
Combo1.AddItem 'msgbox app.Title'
Combo1.AddItem 'form1.combo1.listindex=1:form1.command1.value=true'
Combo1.ListIndex = 0
Show
End Sub
В форме находятся ComboBox, TextBox, Label, CommandButton.
При выполнении программы из VB оболочки код выполняется без проблем, выполняется практически любая произвольная команда, можно читать и исполнять внешний txt файл с кодом. Но! Стоит только откомпилировать прогу в экзешник, как она вылетает с ошибкой! (проверял на двух разных компах с разными операционками). Подскажите пожалуйста, в чем может быть проблема? Может что нужно изменить или добавить...Очень уж нужно...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2011, 19:31
Ответы с готовыми решениями:

Динамическое создание форм (runtime) с параметрами взятыми из файла
Задача такая: нужно написать программу для работы с БД. Специфика - много разнообразных форм: формы для просмотра, для редактирование, для...

Проблема с установкой файла api-ms-win-crt-runtime-l1-1-0
Приветствую, форумчане! Помогите с проблемой. Установил xampp и при запуске apache выдает такую ошибку скачал для 32-х этот...

Исполнение кода, написанного в текстовом файле (динамическая компиляция кода)
к примеру есть у меня форма а на ней кнопка, можно ли присваивать код кнопке с текстового файла? пример в текстовике: ...

2
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
25.08.2011, 21:45
все правильно, а ты думал тебе нахаляву дадут этой функцией пользоваться?

для твоей задачи надо задействовать Microsoft Script Control
0
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 6
26.08.2011, 00:43  [ТС]
2 Konst one:

Ок спасибо. Конечно буду пробовать VB script. Но я так и не понял - код не запустится только по причине нехалявности этой dll чтоль? И зачем же так коряво вываливать прогу в ошибку вместо красивого окошечка с надписью об оплате. Я думаю если функция существует, то она работает и проблема кроется не в ее закрытости для общественности. Все таки интересно, можно ли решить проблему без VB script? Даже если другого решения нет, то насколько VB script будет отличаться от VB? (Нашел только примеры подстановки текстовой строки-формулы для калькулятора) и хватит ли его возможностей для решения более серьезных задач? (например с векторной 2D графикой)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.08.2011, 00:43
Помогаю со студенческими работами здесь

Выполнение кода из txt файла
Нужно реализовать код из txt файла.. есть кнопка Подключение к базе(выделено красным) мне нужно реализовать из txt файла лежащем в...

Повторить исполнение кода
Разработал такой супер-код, подскажите, как сделать, чтобы после последнего "mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); " сделать, чтобы...

Исполнение динамического кода в 1с77
Есть ли в 1с77 возможность исполнения динамического кода, на подобие функции eval() в JavaScript?

Исполнение кода из текстовой переменной.
Есть текстовая переменная. (конкретно массив TCHAR) В ней находится кусок кода. Можно ли отправить этот код на выполнение, не занимаясь...

Как остановить исполнение кода?
Какие способы есть остановить код на секунду что пользаватель успел посмотреть результат(на пример в игре,как он нажал на кнопку что увидел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru