AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Lua und Delphi (Teil 1)

Lua und Delphi (Teil 1)

Ein Tutorial von igel457 · begonnen am 8. Sep 2006 · letzter Beitrag vom 21. Okt 2010
Antwort Antwort
Seite 2 von 2     12
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

Re: Lua und Delphi (Teil 1)

  Alt 8. Sep 2009, 14:08
Hallo,

ich denke eher, der Fehler ist das Leerzeichen

Documents\RAD Studio\

Ein Leerzeichen im Pfad ...
Setze den mal in doppelte Hochkommas.

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
Heiko
  Mit Zitat antworten Zitat
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Lua und Delphi (Teil 1)

  Alt 8. Sep 2009, 17:41
Vielen Dank, es funktioniert mit Chris Lösung
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Lua und Delphi (Teil 1)

  Alt 8. Sep 2009, 17:52
@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.
"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
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Lua und Delphi (Teil 1)

  Alt 9. Sep 2009, 14:44
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:
Code:
message("test");
Leider bekomme ich auch so kein Fenster(ShowMessage) geöffnet.

Danke schonmal, mfG
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
PfWSkip

Registriert seit: 14. Okt 2009
Ort: Coruscant - Orange-Bezirk
6 Beiträge
 
Delphi 7 Professional
 
#5

AW: Lua und Delphi (Teil 1)

  Alt 13. Sep 2010, 11:35
Ich weiß, der letzte Beitrag ist jetzt bereits über ein Jahr alt, aber um das Problem trotzdem zu lösen:

und im Lua-Dokument:
Code:
message("test");
Leider bekomme ich auch so kein Fenster(ShowMessage) geöffnet.
Der Lua-Code funktioniert wegen des semikolons ";" nicht. Lua ist zeilenbasierend (nicht wie zb. delphi) und weiß daher nichts mit einem semikolon anzufangen.
einfach nur:
Code:
message("test")
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#6

AW: Lua und Delphi (Teil 1)

  Alt 13. Sep 2010, 13:47
Zitat:
Lua ist zeilenbasierend (nicht wie zb. delphi) und weiß daher nichts mit einem semikolon anzufangen.
Das ist nicht richtig.
Lua-Befehle können sehr wohl mit einem Semikolon abgeschlossen werden, müssen aber nicht.

Zitat:
The unit of execution of Lua is called a chunk. A chunk is simply a sequence of statements, which are executed sequentially. Each statement can be optionally followed by a semicolon
Quelle: Lua 5.1 Reference, Punkt 2.4.1

Meine Lua-Statements schliesse ich immer mit einem Semikolon ab, schon alleine wegen der Delphi-Gewohnheit

Geändert von blackfin (13. Sep 2010 um 13:53 Uhr)
  Mit Zitat antworten Zitat
PfWSkip

Registriert seit: 14. Okt 2009
Ort: Coruscant - Orange-Bezirk
6 Beiträge
 
Delphi 7 Professional
 
#7

AW: Lua und Delphi (Teil 1)

  Alt 21. Okt 2010, 15:30
Das ist nicht richtig.
Lua-Befehle können sehr wohl mit einem Semikolon abgeschlossen werden, müssen aber nicht.
Naja nicht ganz falsch, zeilenbasierend ist es ja trotzdem
ü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 ^^)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12

Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

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 10:10 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