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:
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.
und im Lua-Dokument:
Leider bekomme ich auch so kein Fenster(ShowMessage) geöffnet.
Danke schonmal, mfG