Вопрос: Помогите разбить код на основной проект и длл
Добавлено: 01.12.06 17:20
Автор вопроса: Skywalker | Web-сайт:iSkywalker.ru | ICQ: 300-70-6пятьЪ
вот код:
Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Public Class Form1
Private device As Device = Nothing
Public Function InitializeGraphics() As Boolean
Try
Dim presentParams As New PresentParameters
presentParams.Windowed = True
presentParams.SwapEffect = SwapEffect.Discard
device = New Device(0, DeviceType.Hardware, Me, _
CreateFlags.SoftwareVertexProcessing, presentParams)
Return True
Catch e As DirectXException
Return False
End Try
End Function
Shared Sub Main()
Dim frm As New Form1()
If Not frm.InitializeGraphics() Then
MessageBox.Show("Direct3D не инициализируется.")
Return
End If
frm.Show()
While frm.Created
frm.Render()
Application.DoEvents()
End While
End Sub
Private Sub Render()
If device Is Nothing Then
Return
End If
device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0F, 0)
device.BeginScene()
device.EndScene()
device.Present()
End Sub
End Class
как разделить его на длл и основной проект, чтоб в проекте например написать
dim eng as new engine
Ну а дальше я не знаю или нужно создавать форму в проекте и посылать ее аргументом в длл или чтоб она прям в длл создавалась... В общем основная проблема, что я не пойму как разделить это на длл и основной проект. Помогите.
''' <summary>
''' VS 2005
''' Direct3D TEST
''' </summary>
''' <remarks>
''' DO NOT RUN FROM IDE!!!
''' ADD REFERENCE:
''' - Microsoft.DirectX
''' - Microsoft.DirectX.Direct3D
''' </remarks>
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
'// Имитируем игровое поле
Me.Text = "irect3D Test"
Me.WindowState = FormWindowState.Maximized
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
End Sub
Private Sub Form1_Shown(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Shown
Dim engine As New Engine(Me)
If Not engine.IsInitialized Then
MessageBox.Show("irect3D is not Initialized", _
Me.Text, _
MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Me.Close()
Return
End If
Do
engine.Render()
Application.DoEvents()
Loop While Me.Created
End Sub
Private Sub Form1_DoubleClick(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.DoubleClick
'// Закрытие по двойному клику
Me.Close()
End Sub