Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Codice esterno... [vb.net]
Forum - C# / VB.NET - Codice esterno... [vb.net]

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 21:05
Mercoledý, 14/10/2009
SAlve... io sto facendo un programma che premendo un pulsante doverebbe aviare un codicie esterno scritto in vb... il codice deve essere esterno perchŔ puo essere cambiato...

Cosa mi consiglate peravviare un file di codice esterno da un exe ???
E come comunicare con esso??


xx    xx xxxxxxx    xxxxx
xx    xx xx    xx  xx
xx  xx  xxxxxxx  xxxxxxx
  xxxx   xx    xx xx    xx
   xx    xxxxxxx   xxxxxx  
PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 21:23
Mercoledý, 14/10/2009
Che intendi per "codice esterno"? Dove si trova questo codice?


"Se vuoi che una funzione di un programma non venga mai trovata, descrivila nella documentazione"
PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 9:01
Giovedý, 15/10/2009
non puoi avere codice in un txt o in doc modificarlo a tuo piacimento e aspettarti che il programma te lo compili... o fai una dll e poi cambi il codice della dll o non ho capito bene cosa stai dicendo...

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 15:51
Giovedý, 15/10/2009
Goldberg, si che si pu˛ fare, sul sito robydx viene spiegato bene:
http://robydx.altervista.org/VarieLess23.htm


"E' facile distruggere, la vera sfida Ŕ creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:49
Giovedý, 15/10/2009
C'Ŕ qualche esempio anche nei miei sorgenti, ad esempio in MGraphing.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupiditÓ."
(Fligende Blatter)

"Dubitare di se stessi Ŕ il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 21:33
Giovedý, 15/10/2009
spettacolo mica lo sapevo

PM Quote
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 0:33
Domenica, 18/10/2009
a I Totem ... ho letto un po' la sorgente di MGraphing ... ma non ci ho capito molto... potresti spiegarti a che esempi facevi riferimento???


xx    xx xxxxxxx    xxxxx
xx    xx xx    xx  xx
xx  xx  xxxxxxx  xxxxxxx
  xxxx   xx    xx xx    xx
   xx    xxxxxxx   xxxxxx  
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 13:58
Domenica, 18/10/2009
Mi riferivo a questo:
Codice sorgente - presumibilmente VB.NET

  1. Private Function CreateEvaluator(ByVal Expression As String) As MethodInfoPlus
  2.         Dim RealExpression As String = Expression
  3.         Dim FunctionX As New Regex("(?<Function>\w)\s*=\s*")
  4.         Dim M As Match = FunctionX.Match(Expression)
  5.  
  6.         If M.Success Then
  7.             If M.Groups("Function").Value.ToLower = "y" Then
  8.                 EvaluateX = True
  9.             Else
  10.                 EvaluateX = False
  11.             End If
  12.         Else
  13.             Throw New ArgumentException("Espressione non valida!")
  14.         End If
  15.  
  16.         If Expression.IndexOf("=") > -1 Then
  17.             RealExpression = Expression.Remove(0, Expression.IndexOf("=") + 1)
  18.         End If
  19.  
  20.         Dim Code As String = _
  21.         "Imports Microsoft.VisualBasic" & vbCrLf & _
  22.         "Imports System" & vbCrLf & _
  23.         "Imports System.Math" & vbCrLf & _
  24.         "Public Class Evaluator" & vbCrLf & _
  25.         "    Public Function Evaluate(ByVal X As Single) As Single" & vbCrLf & _
  26.         "        Return " & RealExpression & vbCrLf & _
  27.         "    End Function" & vbCrLf & _
  28.         "End Class" & vbCrLf
  29.  
  30.         If Not EvaluateX Then
  31.             Code = Code.Replace("X", "Y")
  32.         End If
  33.  
  34.         Dim Parameters As New CodeDom.Compiler.CompilerParameters
  35.         With Parameters
  36.             .GenerateExecutable = False
  37. #If DEBUG Then
  38.             .IncludeDebugInformation = True
  39.             .TempFiles.KeepFiles = True
  40.             .GenerateInMemory = False
  41. #Else
  42.             .TreatWarningsAsErrors = True
  43.             .TempFiles.KeepFiles = False
  44.             .GenerateInMemory = True
  45. #End If
  46.             .ReferencedAssemblies.Add("Microsoft.VisualBasic.dll")
  47.             .ReferencedAssemblies.Add("System.dll")
  48.         End With
  49.  
  50.         Dim Provider As New VBCodeProvider
  51.         Dim CompResults As CompilerResults = Provider.CompileAssemblyFromSource(Parameters, Code)
  52.  
  53.         If CompResults.Errors.Count > 0 Then
  54.             Dim Msg As String = ""
  55.             For Each Err As CompilerError In CompResults.Errors
  56.                 Msg &= Err.ToString & vbCrLf
  57.             Next
  58.             'MsgBox(Msg, MsgBoxStyle.Critical)
  59.             Throw New ArgumentException("Espressione non valida!")
  60.         Else
  61.             Dim Asm As Reflection.Assembly = CompResults.CompiledAssembly
  62.             Dim Evaluator As Object = Asm.CreateInstance("Evaluator")
  63.             Dim EvalMethod As Reflection.MethodInfo = Evaluator.GetType.GetMethod("Evaluate")
  64.             Dim Result As MethodInfoPlus
  65.             Result.Method = EvalMethod
  66.             Result.Target = Evaluator
  67.             Return Result
  68.         End If
  69.     End Function
  70.  
  71.     Private Function Evaluate(ByVal Method As MethodInfoPlus, ByVal Value As Single) As Single
  72.         Dim Args() As Object = {Value}
  73.         Dim Result As Object = Method.Method.Invoke(Method.Target, Args)
  74.         Return CSng(Result)
  75.     End Function



"Infelici sono quelli che hanno tanto cervello da vedere la loro stupiditÓ."
(Fligende Blatter)

"Dubitare di se stessi Ŕ il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 16:46
Lunedý, 19/10/2009
Ok... l'ho letto e ho capito come funziona... pero ho ancora qualche problema... quindi mi potresti aiutare...
> io vorrei fare una classe chiamata 'ExternCode'
> che contiene 3 variabili di tipo MethodInfoPlus (quella structure che hai fatto) cosi posso invokare i metodi quando vogli
> Una funzione che richiede l'inditizzo di un file *txt la quale lo apre e mette le tre funzioni del file:
'OpenMethod'
'SetMethod'
'EndGetMethod'
nelle 3 variabili MethodInfoPlus (Metod e Target)...
> E altre 3 funzioni che richiedano le variabili rispettivamente richieste dalle 3 funzioni carichate e ne svolga l'operato. le funzioni sarebbero:
'Run_OpenMethod'
'Run_SetMethod'
'Run_EndGetMethod'

Che codice dovrei usare????


xx    xx xxxxxxx    xxxxx
xx    xx xx    xx  xx
xx  xx  xxxxxxx  xxxxxxx
  xxxx   xx    xx xx    xx
   xx    xxxxxxx   xxxxxx  
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo