AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Delphi und Lua - Lua soll Variable zurückgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi und Lua - Lua soll Variable zurückgeben

Offene Frage von "FireOfSorrow"
Ein Thema von FireOfSorrow · begonnen am 26. Aug 2009 · letzter Beitrag vom 28. Aug 2009
Antwort Antwort
FireOfSorrow

Registriert seit: 21. Jun 2009
6 Beiträge
 
Delphi 2007 Professional
 
#1

Delphi und Lua - Lua soll Variable zurückgeben

  Alt 26. Aug 2009, 07:31
Ich habe angefangen ein kleines Programm zu schreiben, welches mit Lua skriptbar sein soll. Dabei möchte ich, dass von Delphi aus eine Lua Funktion (mit mehreren Parametern) aufgerufen wird und diese dann einen String zurückgibt.
lua_pushstring verwende ich auch um die Parameter zu übergeben usw.
Nun kann man ja per
lua_pushcfunction(luastate, funktion)
lua_setglobal(luastate, 'funktionsname');
machen, das Lua eine Delphi Funktion aufruft. Wie kann man nun allerdings einstellen, das dies mit Parametern funktioniert, und wie, dass diese Funktion etwas auf der GUI macht? Klar, eine Funktion gibt etwas zurück, aber gibt diese Funktion das an das Lua Skript oder an die Prozedur in der das Lua Skript aufgerufen wurde zurück?
  Mit Zitat antworten Zitat
FireOfSorrow

Registriert seit: 21. Jun 2009
6 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Delphi und Lua - Lua soll Variable zurückgeben

  Alt 27. Aug 2009, 17:11
ich push das mal
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Delphi und Lua - Lua soll Variable zurückgeben

  Alt 27. Aug 2009, 18:18
Wie kannst du denn in Lua eine Funktion aus einer DLL ausrufen?
Es ist wohl ein Aufruf an LoadLibrary und dann GetProcAddress nötig.
GetProcAddresse liefert einen Zeiger auf die Einsprungsadresse.

Wenn du weisst wie das in Lua geht, dann sollte es auch möglich sein,
eine Funktion aus einer Delphi Anwendung aufzurufen.
Andreas
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Delphi und Lua - Lua soll Variable zurückgeben

  Alt 27. Aug 2009, 19:03
Soweit ich mich erinnere - ist auch schon 1-2 LUA Versionen her wieder - ist es ja möglich Variablen, insbesondere Tabellen zwischen LUA und Host zu sharen, bzw. aus dem Host heraus diese auszulesen. Also wäre ein einfacher Workaround statt Funktionsparameter Werte einer Tabelle zu setzen, und die betreffende Delphi-Funktion liest sich diese dann wieder aus. Anhand dieser Werte kannst du dann ja lustig in deiner GUI wurschteln , aber direkt per Aufruf aus LUA wird das nichts. Du musst dir das schon in Delphi-Funktionen wrappen die letztlich auf die Objekte im Host zugreifen.
Das könntest du dir dann auch nochmals in eine kleine LUA-Lib wrappen, die LUA Funktionen mit Parametern entgegen nimmt, und dann transparent diese Tabellen versorgt und den Aufruf weiterleitet.

Ich kann mir vorstellen, dass es evtl. wirklich einen "direkteren" Weg geben könnte, aber so ginge es auch.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
FireOfSorrow

Registriert seit: 21. Jun 2009
6 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Delphi und Lua - Lua soll Variable zurückgeben

  Alt 28. Aug 2009, 06:39
Es muss auf jeden Fall einen direkteren Weg geben. Nur welcher dieser ist...
Ich will ja nicht nur dass Lua die GUI verändert, sondern man mit Lua direkt auf ein Ereignis reagieren kann.
Z.b. eine IRC Nachricht kommt an, wird an Lua gesendet, per Lua kann man Skripten wie man auf sie reagiert , die Reaktion wird an Delphi zurück gegeben und von da aus zurückgesendet.
Mit der ersten Methode würde es daher nicht gehen, da ich die Variablen ja ständig auslesen müsste und somit ziemlich viel altes Zeugs senden würde.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz