![]() |
Zur lLaufzeit Code kompilieren und zuweisen.....
Hi,
kann mir einer sagen wie man zur Laufzeit einen Codefetzen kompilieren kann und dann an ein Ereignis hängt. Gibt es dafür vllt. 'ne Komponente..........(freeware natürlich)? Grüße zwaem |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Könntest Du Deine Frage bitte ausführlicher formulieren?
ich habe da kein Wort verstanden... |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
also das wird wohl nich ganz soeinfach werden. ich denke mal besser waere es die routine gleich in
assembler zu schreiben bzw. vorcompilierte codesteucke zu verwenden. als naechstes muesstest du den code in den speicher laden, und vor der ausfuehrung den EIP auf die einsprungadresse deiner routine setzten. und da liegt der hase im feld begraben. ich weis naehmlich nicht ob es unter NTx.x systemen so einfach machbar ist. (siehe getrennte speicherbereiche) dazu gibst andere experten. ich denk mal olli oder assarbad waeren da die richtigen ansprechpartner. gruß richard |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Er möchte zur Laufzeit Code ausführbaren Code erzeugen und ausführen.
Schau mal nach den verschiedenen Mathearsern hier, da gibt es z.B. so'nen kompilierenden von DAX ... die machen sozusagen soetwas (wenn ich mich nicht irre) |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
oder der JvInterpreter der JEDIs
|
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
oder DelphiWebScript
|
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
oder Pascal Script von remobjects
Gruss, Marco |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Zitat:
Das einzig Maschinencodige(^^) am ROPS zum Beispiel ist der Stackaufbau für Funktionsaufrufe. Allein deswegen kann man aus ROPS Funktionen aufrufen, die kein festgelegtes Parameterformat haben - man übergibt ROPS die Parameter und entsprechend baut der Interpreter den Stack auf. Beim JvInterpreter zum Beispiel hat eine Funktion, die in den Interpreter geklinkt wird, einen Arrayparameter, in dem alle Parameter drin sind, die im Interpreter in die Funktion geworfen werden. Ist jetzt zwar bisschen Eigenlob und Promotion, aber seis drum :mrgreen: : ![]() ![]() lg, Dax PS: haut mich bitte nicht, falls ich damit falsch liege, es ist schon ne Weile her, das ich mit die Interpreter angekuckt hab. Korrigieren ist viel netter ^^ |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Zitat:
Jedenfalls dachte ich das immer... |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Moin, moin,
Zitat:
"Fast genauso schnell" heisst, Delphi-Speed + ein kleiner Offset fürs Kompilieren. |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
ja sicher nur verknuepft keiner dieser interpreter den uebersetzten code sinn voll mit seinem
hauptprogramm oder nicht? vielleicht hab ich ja auch die frage falsch verstanden? richard |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Eine andere Idee ist einfach die hier:
Den Quellcode in ne DLL schreiben, diese mit FreePascal kompilieren und dann dynamisch linken :wink: Gruß alias5000 |
Re: Zur lLaufzeit Code kompilieren und zuweisen.....
Zitat:
Mit DWS lädst Du deinen Code in eine Stringlist und compilierst sie. Danach kannst Du das Kompilat so oft aufrufen wie Du willst. Also z.B.
Delphi-Quellcode:
Entweder ruft DWS_Prog dann Routinen in der EXE auf, oder liefert halt Daten zurück.
onEreignis := DWS_Prog.Execute;
Wenn DWS_Prog massenweise unterschiedliche Routinen in der EXE aufrufen soll, muss man sich überlegen, ob man mehr Wert auf viel Perfomance legt ==> viel Arbeit oder etwas weniger Performance, dafür aber ein übersichtlicher Programieraufwand. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz