Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: VB6 компилятор Добавлено: 02.06.11 19:23  

Автор вопроса:  MISTER X | Web-сайт: studioartf.ru | ICQ: 463865965 
Народ, можно ли на VB6 создать из программы программу.т.е чтобы она компильнула из себя еще одну с заданной формой и кодом,который можно задать в программе.т.е получится как сборщик.вот его надо сделать.Есть идеи? vb6

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #1 Добавлено: 02.06.11 19:38
думаю, можно. даже асм-копилер можно написать )

Ответить

Номер ответа: 2
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #2
Добавлено: 02.06.11 20:59
вот он:) http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=69861&lngWId=1

Ответить

Номер ответа: 3
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #3 Добавлено: 03.06.11 05:25
Все это делает vb6.exe /make "YourProject"
Или уровнем ниже С2.exe + LINK.exe.
Вообщем, твоя прога генерит файлы (модули, формы, классы) и скармливает их в коммандной строке компилятору и линкеру.

Ответить

Номер ответа: 4
Автор ответа:
 MISTER X



ICQ: 463865965 

Вопросов: 31
Ответов: 190
 Web-сайт: studioartf.ru
 Профиль | | #4
Добавлено: 03.06.11 17:52
Ладно.если мне надо попроще?)))хотя бы для примера Форма "билдера" там текст. компилим и прога с такой же формой и с заданным текстом...что скажете?

Ответить

Номер ответа: 5
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #5 Добавлено: 03.06.11 20:04
деревенский вариант, куда уж проше.. :)
  1.  
  2. Option Explicit
  3. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  4. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  5. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  6. Private Const SYNCHRONIZE = &H100000
  7.  
  8. Private Sub Command1_Click()
  9.     Dim sfile As String
  10.     Dim frmstr As String
  11.     
  12.     sfile = "D:\myform.frm"
  13.     
  14.     frmstr = "VERSION 5.00" & vbCrLf & _
  15.             "Begin VB.Form Form1" & vbCrLf & _
  16.             "Begin VB.TextBox Text1 End" & vbCrLf & _
  17.             "End" & vbCrLf & _
  18.             "Attribute VB_Name = ""Form1""" & vbCrLf & _
  19.             "Attribute VB_GlobalNameSpace = False" & vbCrLf & _
  20.             "Attribute VB_Creatable = False" & vbCrLf & _
  21.             "Attribute VB_PredeclaredId = True" & vbCrLf & _
  22.             "Attribute VB_Exposed = False" & vbCrLf & _
  23.             "Option Explicit"
  24.     
  25.     ' создать времянку
  26.     Open sfile For Binary As #1
  27.      Put 1, , frmstr
  28.     Close #1
  29.     
  30.     Dim pid As Long, hProc As Long
  31.     pid = Shell("vb6.exe /make " & sfile & " /d const=1 D:\myform.exe") 'построение
  32.     
  33.     hProc = OpenProcess(SYNCHRONIZE, False, pid)
  34.     WaitForSingleObject hProc, &HFFFF    'дождаться завершения построения
  35.     CloseHandle hProc
  36.     
  37.     Kill "D:\myform.frm" 'удалить времянку
  38.     Shell "D:\myform.exe", vbNormalFocus ' запустить созданный exe
  39. End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам