Страница: 1 |
Вопрос: VB6 компилятор
Добавлено: 02.06.11 19:23
Автор вопроса: MISTER X | Web-сайт: studioartf.ru | ICQ: 463865965
Народ, можно ли на VB6 создать из программы программу.т.е чтобы она компильнула из себя еще одну с заданной формой и кодом,который можно задать в программе.т.е получится как сборщик.вот его надо сделать.Есть идеи? vb6
Ответить
Номер ответа: 3Автор ответа: Ким Чен Ир
Вопросов: 0Ответов: 140
Профиль | | #3
Добавлено: 03.06.11 05:25
Все это делает vb6.exe /make "YourProject"
Или уровнем ниже С2.exe + LINK.exe.
Вообщем, твоя прога генерит файлы (модули, формы, классы) и скармливает их в коммандной строке компилятору и линкеру.
Ответить
Номер ответа: 5Автор ответа: Ким Чен Ир
Вопросов: 0Ответов: 140
Профиль | | #5
Добавлено: 03.06.11 20:04
деревенский вариант, куда уж проше..
Option Explicit
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long , ByVal dwMilliseconds As Long ) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long , ByVal bInheritHandle As Long , ByVal dwProcessId As Long ) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long ) As Long
Private Const SYNCHRONIZE = &H100000
Private Sub Command1_Click()
Dim sfile As String
Dim frmstr As String
sfile = "D:\myform.frm"
frmstr = "VERSION 5.00" & vbCrLf & _
"Begin VB.Form Form1" & vbCrLf & _
"Begin VB.TextBox Text1 End" & vbCrLf & _
"End" & vbCrLf & _
"Attribute VB_Name = " "Form1" "" & vbCrLf & _
"Attribute VB_GlobalNameSpace = False" & vbCrLf & _
"Attribute VB_Creatable = False" & vbCrLf & _
"Attribute VB_PredeclaredId = True" & vbCrLf & _
"Attribute VB_Exposed = False" & vbCrLf & _
"Option Explicit"
Open sfile For Binary As #1
Put 1, , frmstr
Close #1
Dim pid As Long , hProc As Long
pid = Shell("vb6.exe /make " & sfile & " /d const=1 D:\myform.exe" )
hProc = OpenProcess(SYNCHRONIZE, False , pid)
WaitForSingleObject hProc, &HFFFF
CloseHandle hProc
Kill "D:\myform.frm"
Shell "D:\myform.exe" , vbNormalFocus
End Sub
Ответить
Страница: 1 |
Поиск по форуму