![]() |
Lua und Delphi (Teil 1)
Liste der Anhänge anzeigen (Anzahl: 1)
Lua und Delphi
Funktionen von Delphi nach Lua Hallo, Ich habe mal ein kleines Tutorial geschrieben, in dem es um die Verwendung von Lua mit Delphi geht. In diesem Teil geht es darum, Lua mit Delphi zu verbinden und Delphi Funktionen aus Lua heraus aufzurufen. [edit=JasonDX] *snip* - Link auf Wunsch des Autors entfernt, das Tutorial befindet sich nun im Anhang[/edit] Um Rückmeldung wäre ich euch sehr verbunden, da es mein erstes Tutorial ist. In den nächsten Teilen wird es darum gehen Lua Funktionen aus Delphi heraus aufzurufen und Objekte zwischen Lua und Delphi auszutauschen. Viel Spaß damit wünscht euch, Igel457 PS: Mehr Infos über Lua gibt es unter ![]() |
Re: Lua und Delphi (Teil 1)
Moin, Spätmoin,
Scriptsprachen in Delphi sind ein interessantes Thema. Dein Tutorial finde ich gut gemacht. Kenne Lua nun überhaupt nicht. Richtig spannend finde ich wird es, wenn ich ein Memo mit dem Programm habe und dies dann ändern und laufen lassen kann. Vielleicht könntest Du ein Demoprojekt mit Source in den Anhang stellen. Ein großer Vorteil scheint hier doch zu sein, dass nicht mit ActiveX-Komponenten, sondern nur mit einer dll, die im Anwendungsverzeichnis liegt, gearbeitet wird. Und wenn man die dynamisch lädt, kann man auch noch ihre relative Lage zur Exe bestimmen. Find ich gut! Grüße // Martin |
Re: Lua und Delphi (Teil 1)
Zitat:
Das mit dem Memo ist vieleicht auch git für ein Beispiel mit Objekten, mal schaun ob ich das hinkriege. Igel457 |
Re: Lua und Delphi (Teil 1)
Hallo Delphi Experten!
Ich weiß, dass dieses Thema 3 Jahre alt ist, habe aber trotzdem Fragen: 1.: Teil 1? Gibt es davon auch einen 2. Teil? 2.: Ich habe den ersten Teil des Tutorials ausprobiert und kam damit zu folgendem Code:
Delphi-Quellcode:
Damit spuckt er aber nicht das gewünschte Ergebnis aus, sondern:
program LuaTest;
{$APPTYPE CONSOLE} uses SysUtils, Lua; var Lua_Instance:Lua_State; begin Lua_Instance := Lua_Open(); LuaOpen_Base(Lua_Instance); Lua_DoFile(Lua_Instance, 'helloworld.lua'); ReadLn; Lua_Close(Lua_Instance); Lua_Instance := nil; end. Zitat:
mfG und Danke |
Re: Lua und Delphi (Teil 1)
Ich kenn mich mit Lua nicht aus, vermute aber mal, dass
Delphi-Quellcode:
die fehlerhafte Zeile ist. Schonmal mitm kompletten Pfad versucht?
Lua_DoFile(Lua_Instance, 'helloworld.lua');
|
Re: Lua und Delphi (Teil 1)
Vielleicht muss hier ein absoluter Pfad angegeben werden:
Delphi-Quellcode:
Lua_DoFile(Lua_Instance, 'helloworld.lua');
|
Re: Lua und Delphi (Teil 1)
Hi, ja hab ich grade versucht, dann bekomm ich bei
Delphi-Quellcode:
Lua_DoFile(Lua_Instance, 'C:\Users\Florian\Documents\RAD Studio\Projekte\LuaTest\helloworld.lua');
Zitat:
|
Re: Lua und Delphi (Teil 1)
.. sind (String) Konstanten in Delphi 2009 auch uniCode?
Könnte da das Problem liegen? Grüße Klaus |
Re: Lua und Delphi (Teil 1)
Das weiß ich jetzt spontan nicht, doch diese Variable ist eine PWideChar, also kein String.
|
Re: Lua und Delphi (Teil 1)
In den Deklarationen für die Dll ist bestimmt PChar als Parametertyp definiert, was vor Delphi 2009 PAnsiChar entsprochen hat, unter Delphi 2009 (und höher) aber PWideChar ist.
Einfach mal in der Unit in der die Funktion definiert ist, PChar durch PAnsiChar ersetzten. Die Meldung "cannot read C: No such file or directory" kommt daher, da das erste Zeichen "C" ist, gefolgt von einem 0 Byte, da UTF-16. Und nach dem Nullbyte ist für die Dll-Funktion der String zu Ende. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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