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

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

25.08.2011, 19:31. Показов 1224. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru