vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Funktion aus String ausführen 
Autor: Nybras
Datum: 25.06.12 20:52

Servus,

ich würde gerne bei meiner Anwendung Funktionen ausführen, welche der/die Anwender/in selbst schreibt.
Keine Ahnung ob so etwas funktioniert.

Wenn der/die User/in auf einen Button klickt, soll eine Funktion die er/sie vorher hinterlegt hat, ausgeführt werden.
Die Funktion soll als String gespeichert sein.
z.B.:
Dim _Function as String = ("Public Sub Button1_Function()" & vbcrlf & _
"For Each Key as Object in Table.Keys" & vbcrlf & _
"Send(key.name)" & vbcrlf & _
"Next" & vbcrlf & _
"End Sub")
Der Funktionsname ist egal.

Zum Speichern und abrufen des zum Button zugehörigen String hab ich schon.
Ich habe nur nichts gefunden bezüglich der Ausführung, bzw. mich nirgendwo durchgeblickt.

Ich bedanke mich schonmal im Vorraus.


Nybras
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Funktion aus String ausführen 
Autor: Franki
Datum: 26.06.12 02:57

Hallo,

so einfach wie du dir das vor stellst funktioniert das aus Sicherheitsgründen nicht. Stell dir vor der User schreibt da eine Funktion mit der eine Datei / ein Web / eine DB-Tabelle gelöscht / ein Web (Onlineshop) manipuliert wird.

Was genau soll der User denn überhaupt selbst an Funktionen erstellen können? Und haben deine User überhaupt die Kenntnisse, bist du auf Fehler in den Funktionen vorbereitet?

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Funktion aus String ausführen 
Autor: ModeratorDaveS (Moderator)
Datum: 26.06.12 09:04

Wie man Code zur Laufzeit kompiliert und ausführt
http://www.vbarchiv.net/forum/id10_i12911t12880.html
http://www.vbarchiv.net/forum/read.php?f=22&i=10702&t=10680

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Funktion aus String ausführen 
Autor: Nybras
Datum: 29.06.12 07:57

Ich habe mir das mit dem CodeDom angeschaut, nur wie kann ich mit dem code auf die aktuellen Variablen und Klassen zugreifen ?
Ich hab es schon geschaft, das ich Prozeduren von der Main-Class aufrufen hab können, nur auf die Variablen hab ich nicht zugreifen können.
Ist das überhaupt möglich, wenn ja wie ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Funktion aus String ausführen 
Autor: Micke
Datum: 29.06.12 09:52

weiß nicht ob du das Konzept der Interfaces kennst -
hierbei kannst du z.b. definieren daß irgendeine Klasse zumindest mal die funktion z.b. main haben muß und bspw. eine property xyz. der zugriff erfolgt dann ganz normal wie bei anderen klassen.

idee dabei ist, dass die konkrete implementierung der vorgaben durch das Interface offen bleiben kann.

Micke

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Funktion aus String ausführen 
Autor: ModeratorDaveS (Moderator)
Datum: 29.06.12 10:09

Das ist kompilierter .Net Code und kann im Prinzip alles tun, was du mit .Net programmieren kannst. Micke hat einen Vorschlag gemacht. Du kannst jedes Objekt an die generierten Routinen als Parameter übergeben. Das Ergebnis der Kompilierung ist allerdings ein weiteres Assembly, daher sind globale Werte nicht (direkt) verfügbar. Außerdem um viel mit einer Referenz zu machen (ohne Reflection) musst du die Objekte bekannt machen, indem du entsprechende Verweise einbaust.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Funktion aus String ausführen 
Autor: Nybras
Datum: 29.06.12 20:17

Danke für die hinweise, das mit den Parametern übergeben hab ich schon geschafft, nur ist das umständlich, weil die Anwendung wird stetig erweitert und dann muss ich jedes mal, wenn neue Variablen dazukommen, die auch mit übergeben, und das wird dann sehr unübersichtlich.
Das Konzept der Interfaces kenne ich nicht, und das was ich darüber gelesen habe kapier ich nicht ganz
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel