![]() |
Re: Lua und Delphi (Teil 1)
Hallo,
ich denke eher, der Fehler ist das Leerzeichen Documents\RAD Studio\ Ein Leerzeichen im Pfad ... Setze den mal in doppelte Hochkommas.
Delphi-Quellcode:
Lua_DoFile(Lua_Instance, '"C:\Users\Florian\Documents\RAD Studio\Projekte\LuaTest\helloworld.lua"');
Beim Programmieren generell keine gute Idee, das mit den Leerzeichen, es sei denn man testet es mal mit und mal ohne. Heiko |
Re: Lua und Delphi (Teil 1)
Vielen Dank, es funktioniert mit Chris Lösung :)
:dp: |
Re: Lua und Delphi (Teil 1)
@Leerzeichen: Die sind nur ein Problem in der Eigenschaften-Box von Dateien - besonders EXEn die man mit Parametern versehen will, und in der Shell. Ansonsten sind die eigentlich ziemlich bedenkenlos einsetzbar mittlerweile. Zumindest hatten wir noch keinerlei Proleme damit, weder auffer Arbeit noch ich bei mir privat.
|
Re: Lua und Delphi (Teil 1)
Hmm. Ich hab jetzt auch mal das mit der VCL Anwendung getestet. Allerdings bekomm ich das einfach nicht hin, damit eine Delphi procedure zu starten
Nachdem mir das mit dem Dialogfeld für den Anfang mal zum Testen zu kompliziert schien, hab ich nachher noch was probiert:
Delphi-Quellcode:
und im Lua-Dokument:
unit LT;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Lua; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; LuaInstance: Lua_State; implementation {$R *.dfm} function SendMessage(L:Lua_State):integer;cdecl; var ArgCount:integer; begin ArgCount := Lua_GetTop(L); if ArgCount = 1 then begin Showmessage(Lua_ToString(L,1)); end; Lua_Pop(L,ArgCount); Result := 0; end; procedure TForm1.FormCreate(Sender: TObject); begin LuaInstance := Lua_Open; Lua_PushCFunction(LuaInstance,SendMessage); Lua_SetGlobal(LuaInstance,'message'); LuaOpen_Base(LuaInstance); Lua_DoFile(LuaInstance,'dialog.lua'); end; procedure TForm1.FormDestroy(Sender: TObject); begin Lua_Close(LuaInstance); LuaInstance := nil; end; end.
Code:
Leider bekomme ich auch so kein Fenster(ShowMessage) geöffnet.
message("test");
Danke schonmal, mfG :dp: |
AW: Lua und Delphi (Teil 1)
Ich weiß, der letzte Beitrag ist jetzt bereits über ein Jahr alt, aber um das Problem trotzdem zu lösen:
Zitat:
einfach nur:
Code:
message("test")
|
AW: Lua und Delphi (Teil 1)
Zitat:
Lua-Befehle können sehr wohl mit einem Semikolon abgeschlossen werden, müssen aber nicht. Zitat:
![]() Meine Lua-Statements schliesse ich immer mit einem Semikolon ab, schon alleine wegen der Delphi-Gewohnheit :) |
AW: Lua und Delphi (Teil 1)
Zitat:
über das semikolon war ich dann wohl falsch informiert. bis jetzt hatte ich immer nur gelesen "keine semikolons in lua". aber gut, gefällt mir eigendlich besser so (der gewohnheit wegen ^^) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 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