Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 18:17

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Wie Skript nutzen?
BeitragVerfasst: So Okt 22, 2006 13:58 
Offline
DGL Member

Registriert: Di Nov 29, 2005 09:21
Beiträge: 13
Hallo,

ich möchte folgendes realisieren:

ich habe in meinem Programm zum beispiel folgende Klasse:

Code:
  1.  
  2. TCreateEvent = procedure of Object;
  3.  
  4. TRobot = class(TObject)
  5.   private
  6.     FOnCreate : TCreateEvent;
  7.   public
  8.     RobotColor : TColor;
  9.     procedure OnCreate;
  10.   end;
  11.  


jetzt möchte ich in einem Skript eine neue Klasse von der aus dem Programm ableiten, also so:

Code:
  1.  
  2. TMyRobot = class(TRobot)
  3.   public
  4.     procedure DoSomething;
  5.     procedure OnCreate;override;
  6.   end;
  7.  
  8.  
  9. procedure TMyRobot.OnCreate;
  10. begin
  11. RobotColor := clRed;
  12. DoSomething;
  13. end;
  14.  
  15. procedure TMyRobot.DoSomething;
  16. begin
  17. //Irgendwas tun
  18. end;
  19.  


jetzt möchte ich im Programm das skript laden und wenn eine Klasse die von TRobot abgeleitet ist, in diesem Fall TMyRobot, ein Objekt von TMyRobot erstellen und dessen Funktionen usw. ausführen.

Kennt jemand Komponenten mit denen das schon möglich ist, bzw. weis jemand wie/ob ich das selbst machen kann?

Also die Klasse aus dem Skript soll natürlich noch mehr können, nur dass das Prinzip klar ist.

Also hat da jemand einen Tipp für mich?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 23, 2006 18:33 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hab sowas für Lua realisiert und es ist auch noch nicht perfekt.
Im Repo von X-Dream kannst du die Unit XD_ScriptSystem.pas finden.
Wenn du was selber machen willst, kann ich dir auch erklären wie du sowas realisieren kannst.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 23, 2006 21:53 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Also skripte kannst du mit DelphiWebScript2 implementieren, aber so einfach wie du dir das vorstellst geht das ganze mit kaum einer Skriptsprache.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 24, 2006 08:01 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
In X-Dream mit Lua und meiner Unit funktioniert es so.
Sourcecode
Code:
  1. type
  2.   TXD_GUI_Widget_Button=class(TXD_LUAClass)
  3.     private
  4.       LuaFncNameMBDown: String;
  5.       fColor:cardinal;
  6.       procedure setLuaFncNameMBDown(newstr:String);
  7.     published
  8.       property OnMouseDown:string Read LuaFncNameMBDown     Write setLuaFncNameMBDown;
  9.       property Color:Cardinal read fcolor write fcolor;
  10.   end;
  11.  
  12. implementation
  13.  
  14. procedure TXD_GUI_Widget_Button.setLuaFncNameMBDown(newstr:String);
  15. begin
  16.   OnMouseBtnDown_:=GUIMouseBtnDown;
  17.   LuaFncNameMBDown:=newstr;
  18. end;

Luacode
Code:
  1. function MBtnDown(btn,x,y)
  2.   print(x)
  3.   return 0
  4. end;
  5.  
  6. function main()
  7.   GUI.LoadFromXMLFile('gui.xml')
  8.   b1=GUI.GetWidget('Btn1')
  9.   b1.OnMouseDown='MBtnDown'
  10.   b1.Color=9
  11.   return 0
  12. end;

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 24, 2006 17:21 
Offline
DGL Member

Registriert: Di Nov 29, 2005 09:21
Beiträge: 13
Hat sich weitestgehend erledigt, ich nehm PascalScript von RemObjects, da kann ich das alles machen, schon getestet und funktioniert perfekt :) trotzdem danke


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]