myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   VB.NET Late Binding (https://mygully.com/showthread.php?t=3110260)

LegacyOfHate 28.11.13 20:09

VB.NET Late Binding
 
Hallo Leute,

ich habe ein kleines Problem. Natürlich habe ich auch schon unseren Freund Google angestrengt aber auf keinen Fall das gefunden, was ich suche.
Es geht um Late Binding. Das Laden von DLLs zur Laufzeit. Dazu habe ich jede Menge Infos
und auch Tutorials und Codesnippets gefunden.
Nun zu meinem Problem. Ich möchte gerne eine normale Textdatei, bestückt mit Funktionen etc. zur Laufzeit laden und auf diese Funktionen zugreifen können. Außerdem möchte ich auch diese Textdatei in einem Editor ändern können, Bspw. die Funktionen umschreiben, und Sie dann beim nächsten "Lauf" mit der geänderten Funktion nutzen.
Im Prinzip wie ein Late Binding nur mit einer Textdatei und nicht mit einer DLL.
Hat dazu jemand eine Idee?

lg
LegacyOfHate

ProgMaster 28.11.13 20:30

Was zur Hölle ist eine "normale Textdatei" und was ist eine "Textdatei mit Funktionen"?

Definier das bitte.
Dann beschreibe und deine "Textdatei mit Funktionen".

Ohne zu wissen, was du dir "vorstellst", kann man dir leider nicht helfen.

LegacyOfHate 28.11.13 20:51

Mit einer "normalen Textdatei" meine ich Bspw. Funktionen.txt. Die kann ich mit dem Editor öffnen und kann im Klartext lesen, was drin steht. Nun schreibe ich eine Textdatei, auch hier mal Funktionen.txt, mit dem Inhalt:

Zitat:

Public Function calc(ByVal zahl1 as integer, ByVal zahl2 as Integer) as integer
Dim ergebnis as Integer

ergebnis = zahl1 + zahl2
Return ergebnis

End Function
Diese Datei möchte ich nun zur Laufzeit einbinden und diese Funktion benutzen.
Ich will aber auch in der Lage sein meinen Editor zu öffnen und die Funktion umzuschreiben.
Bspw. so:

Zitat:

Public Function calc(ByVal zahl1 as integer, ByVal zahl2 as Integer) as integer
Dim ergebnis as Integer
Dim zahl3 as integer

zahl3 = 3

ergebnis = (zahl1 * zahl2) - zahl3
Return ergebnis

End Function
Ich hoffe, dass das Beispiel mein Vorhaben verdeutlicht.

lg
LegacyOfHate

NetWebs 28.11.13 21:27

Zitat:

Zitat von LegacyOfHate (Beitrag 25079007)
ich habe ein kleines Problem.

Dein Problem scheint eher ziemlich groß zu sein... und es hat definitiv mit deinem Verständnis zu tun. Du solltest dich erst mal mit den Grundlagen befassen, dann würdest du auch nicht auf solche "Ideen" kommen.

Was sind Dateiformate?
Was ist eine DLL?
Was ist .NET?
Was bedeutet Interpretation?
Was bedeutet kompilieren?
Was ist Late Binding?
Was ist CLR, CIL?


Mal ehrlich, du scheinst dich ja leider überhaupt nicht aus zu kennen.
Dass was du vorhast KANN in der Form NICHT funktionieren. So eine Frage würde man nicht stellen, wenn man wenigstens ein wenig Ahnung hat.
Dass was du wohl bewerkstelligen willst (drück dich da mal bitte richtig und exakter aus!) kann man in unterschiedlichen Formen umsetzen. Dazu benötigt man aber sehr viel Erfahrung!

Pain12345 29.11.13 15:45

Zitat:

Zitat von NetWebs (Beitrag 25079159)
Dein Problem scheint eher ziemlich groß zu sein... und es hat definitiv mit deinem Verständnis zu tun. Du solltest dich erst mal mit den Grundlagen befassen, dann würdest du auch nicht auf solche "Ideen" kommen.

Was sind Dateiformate?
Was ist eine DLL?
Was ist .NET?
Was bedeutet Interpretation?
Was bedeutet kompilieren?
Was ist Late Binding?
Was ist CLR, CIL?


Mal ehrlich, du scheinst dich ja leider überhaupt nicht aus zu kennen.
Dass was du vorhast KANN in der Form NICHT funktionieren. So eine Frage würde man nicht stellen, wenn man wenigstens ein wenig Ahnung hat.
Dass was du wohl bewerkstelligen willst (drück dich da mal bitte richtig und exakter aus!) kann man in unterschiedlichen Formen umsetzen. Dazu benötigt man aber sehr viel Erfahrung!

DLLs zur Laufzeit zu kompilieren bzw code einzubinden in .net schon möglich. Jedoch funktioniert der Aufruf einer Funktionen (via Reflektoring) der eingebundenen DLL nur wenn man auch dessen Namen kennt.

NetWebs 29.11.13 17:44

Zitat:

Zitat von Pain12345 (Beitrag 25080818)
DLLs zur Laufzeit zu kompilieren.

Ok...weiter muss ich nicht lesen. Kann dir auch nur die Grundlagen empfehlen...

P.S. Den Thread solltest du schon lesen bevor du antwortest. Wie man Dlls einbindet weiß er... er will aber Textdateien mit Funktionen einbinden und nicht Dlls zur Laufzeit kompilieren... was genauso grosser Unsinn ist

LegacyOfHate 07.12.13 14:00

Zitat:

P.S. Den Thread solltest du schon lesen bevor du antwortest. Wie man Dlls einbindet weiß er... er will aber Textdateien mit Funktionen einbinden und nicht Dlls zur Laufzeit kompilieren... was genauso grosser Unsinn ist
Hast du schon was von Postprozessoren gehört? In manchen CAM Softwaren wie SprutCAM sind Postprozessoren ASCII Dateien, die Funktionen enthalten. Diese werden von einem Generator irgendwie zur Laufzeit kompiliert und die Funktionen genutzt.

LegacyOfHate 07.12.13 14:00

Zitat:

P.S. Den Thread solltest du schon lesen bevor du antwortest. Wie man Dlls einbindet weiß er... er will aber Textdateien mit Funktionen einbinden und nicht Dlls zur Laufzeit kompilieren... was genauso grosser Unsinn ist
Hast du schon was von Postprozessoren gehört? In manchen CAM Softwaren wie SprutCAM sind Postprozessoren ASCII Dateien, die Funktionen enthalten. Diese werden von einem Generator irgendwie zur Laufzeit kompiliert und die Funktionen genutzt.

NetWebs 07.12.13 15:30

Zitat:

Zitat von LegacyOfHate (Beitrag 25105768)
Hast du schon was von Postprozessoren gehört? In manchen CAM Softwaren wie SprutCAM sind Postprozessoren ASCII Dateien, die Funktionen enthalten. Diese werden von einem Generator irgendwie zur Laufzeit kompiliert und die Funktionen genutzt.

Bevor du hier groß rumtönst, solltest du dir lieber mal an die eigene Nase fassen!
Hast du denn schon von IL, CLR gehört? Immerhin willst du ja in .NET programmieren, hast aber anscheinend nicht die geringste Ahnung. Was Funktionen sind und Kompilieren bedeutet scheint dir auch nicht klar zu sein! Des Weiteren wurde hier auch von niemanden behauptet, dass das was du vorhast nicht geht...es ist nur klar, dass diese Aufgabe extrem weit über deinen Fähigkeiten liegt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.