String als Code verwenden
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von Safloc08.
-
-
nur unter VB NET:
[VB 2008] VB-Code kompilieren -
Ähnliche Fragestellung wie hier
Die Antwort auf alle Lebensfragen heisst hier .... nein diesmal nicht 42 ... sondern CodeDom. -
-
-
Ok, Bin gerade beim Code von Kangaroo
VB.NET-Quellcode
- Dim VB As New VBCodeProvider
- Dim compiler As System.CodeDom.Compiler.ICodeCompiler = VB.CreateCompiler()
- Dim Param As New System.CodeDom.Compiler.CompilerParameters
- Param.GenerateExecutable = True
- Param.OutputAssembly = "Programm.exe"
- Param.IncludeDebugInformation = False
- Dim asm As System.Reflection.Assembly
- Dim results As System.CodeDom.Compiler.CompilerResults = compiler.CompileAssemblyFromSource(Param, "Me.Hide()")
- If results.Errors.Count > 0 Then
- Dim err As System.CodeDom.Compiler.CompilerError
- Dim errorString As String
- For Each err In results.Errors
- errorString += err.ToString
- Next
- MsgBox(errorString)
- Else
- Dim processInfo As New ProcessStartInfo("Programm.exe")
- Process.Start(processInfo)
- End If
- End Sub
Bekomme so aber immer einen Fehler zurück
MfG Safloc08 -
-
Du musst schon vollständigen Code kompilieren lassen. CodeDom erzeugt nicht Code für deine Anwendung und schleust ihn ein, sondern einen neue Anwendung oder DLL. Dem entsprechend ist der Code "Me.Hide()" falsch, da Anweisungen innerhalb von Methoden und Methoden in Klassen / Modulen stehen müssen.
Viele Grüße, Phil. -
-
-
-
-
-
-
-
Hier:
VB.NET-Quellcode
- Imports Microsoft
- Imports Microsoft.VisualBasic
- Imports System.Text
- Imports System.CodeDom.Compiler
- Imports System.Reflection
- Imports System.IO
- Public Class Form1
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- End Sub
- Public Function Eval(ByVal vbCode As String) As Object
- Dim c As VBCodeProvider = New VBCodeProvider
- Dim icc As ICodeCompiler = c.CreateCompiler()
- Dim cp As CompilerParameters = New CompilerParameters
- cp.ReferencedAssemblies.Add("system.dll")
- cp.ReferencedAssemblies.Add("system.xml.dll")
- cp.ReferencedAssemblies.Add("system.data.dll")
- ' Sample code for adding your own referenced assemblies
- 'cp.ReferencedAssemblies.Add("c:\yourProjectDir\bin\YourBaseClass.dll")
- 'cp.ReferencedAssemblies.Add("YourBaseclass.dll")
- cp.CompilerOptions = "/t:library"
- cp.GenerateInMemory = True
- Dim sb As StringBuilder = New StringBuilder("")
- sb.Append("Imports System" & vbCrLf)
- sb.Append("Imports System.Xml" & vbCrLf)
- sb.Append("Imports System.Data" & vbCrLf)
- sb.Append("Imports System.Data.SqlClient" & vbCrLf)
- sb.Append("Namespace PAB " & vbCrLf)
- sb.Append("Class PABLib " & vbCrLf)
- sb.Append("public function EvalCode() as Object " & vbCrLf)
- 'sb.Append("YourNamespace.YourBaseClass thisObject = New YourNamespace.YourBaseClass()")
- sb.Append(vbCode & vbCrLf)
- sb.Append("End Function " & vbCrLf)
- sb.Append("End Class " & vbCrLf)
- sb.Append("End Namespace" & vbCrLf)
- Debug.WriteLine(sb.ToString()) ' look at this to debug your eval string
- Dim cr As CompilerResults = icc.CompileAssemblyFromSource(cp, sb.ToString())
- Dim a As System.Reflection.Assembly = cr.CompiledAssembly
- Dim o As Object
- Dim mi As MethodInfo
- o = a.CreateInstance("PAB.PABLib")
- Dim t As Type = o.GetType()
- mi = t.GetMethod("EvalCode")
- Dim s As Object
- s = mi.Invoke(o, Nothing)
- Return s
- End Function
- End Class
Schätze ich muss den Code:VB.NET-Quellcode
- Dim strConn As String = "Server=(local);dataBase=Northwind;User id=sa;Password=;"
- Dim cmd As New SqlCommand()
- Dim cn As New SqlConnection(strConn)
- cn.Open()
- cmd.Connection = cn
- cmd.CommandText = "select * from employees"
- cmd.CommandType = CommandType.Text
- Dim ds As DataSet = New DataSet()
- Dim da As New SqlDataAdapter()
- da.SelectCommand = cmd
- da.Fill(ds)
- Return ds
auch noch irgendwie einbauen, hab leider keine Ahnung wie
MfG Safloc08 -
-
-
-
-
Ähnliche Themen
-
AtomTiger - - Sonstige Problemstellungen