AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Datenbank-Definierte Forms, suche geeignetes Scripting Tool
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank-Definierte Forms, suche geeignetes Scripting Tool

Ein Thema von Medium · begonnen am 5. Feb 2013 · letzter Beitrag vom 7. Feb 2013
Antwort Antwort
Seite 1 von 2  1 2      
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#1

Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 13:32
Hallo DP,

mir schwirrt seit geraumer Zeit das Bedürfnis im Kopf, unsere Software grundlegend umzustrukturieren. Es handelt sich dabei um ein loses Rahmenwerk von visuellen Komponenten gemischt mit einer Hand voll Standardcontrols und ein paar Database-Helferlein, woraus wir maßgeschneiderte Programme zur Anlagenvisualisierung und -steuerung in der Industrie stricken. Das aktuelle System funktioniert auch hervorragend, jedoch ist es mir ein Dorn im Auge, bei jeder kleinen Änderung oder Korrektur das Programm auf allen Arbeitsstationen austauschen zu müssen. (Da dies per Fernwartung, teils auch über alte ISDN Leitungen geht, ist das ein merkbarer Zeitfaktor. Zudem unterbrechen so auch kleine Dinge den laufenden Betrieb, oder man muss es dann tun, wenn gerade keine Schicht arbeitet. Bei 24h Betrieben auch schwer.)

Diese Software ist grunstäzlich immer so aufgebaut, dass die jeweilige Anlage auf mehrere einzelne Fenster in sinnvollen Gruppierungen von Maschinen verteilt dargestellt ist. Dort sind Zustände (eingeschaltete Motoren, geöffnete Ventile etc.) grafisch dargestellt, und oftmals sind Bedienungen in Form von Button-Clicks oder auch Werteingaben in Editfelder möglich. Am unteren Bildrand befindet sich eine Knopfleiste, über die die einzelnen Bilder aufgerufen werden können.

Ein Bild besteht bei mir aus je einem eigenen Formular, dass ich bisher "klassisch" im Delphi Formdesigner zusammenstelle und mit den Eventhandlern verknurpsel. (Diese machen meist auch nur 1-2 Aufrufe von Funktionen unserer Utility-Lib.)
Ich würde aber gerne dort hin kommen, dass das eigentliche Programm an sich weitgehend leer ist. Es soll sich zur Laufzeit seine vorhandenen Bilder mitsamt aller darauf befindlichen Komponenten aus einer zentralen Datenbank abholen, alles instanziieren, und dann weiter machen wie bisher. Was die visuellen Dinge angeht ist das so weit auch kein unlösbares Problem: Ich denke dabei daran die *.dfm in ein BLOB zu werfen, pro Bild/Formular ein Datensatz, und dann (hoffentlich) mittels TParser entsprechend zerpflücken zu können.

Interessanter werden die Funktionen, da die dann ja nicht mehr einkompiliert werden können! Also muss ein Script auf den Tisch. Dieses sollte idealerweise ermöglichen, dass ich wie in Delphi auch auf alle Funktionen diverser Units im Programm Zugriff habe, und vor allem auch die Komponenten, die aus der Datenbank dynamisch erzeugt wurden. Ich kann also nicht schon zur Compile-Time ein fertiges Interface zum Script liefern, da dies sich teilweise auch erst zur Runtime ergibt.
Die Scripts würde ich dann ebenfalls gerne in eine Tabelle gießen, so dass ich für Änderungen letztlich nur meine entsprechenden Datensätze ändern muss, und schon sind alle Clients auf der Anlage versorgt.

Frommer Wunsch 1: Neuladen aller Formulare und Funktionen zur Runtime, so dass im laufenden Programm ein Click reicht, um geänderte Dinge sofort parat zu haben. Ohne Programmneustart (damit sind ein paar Bediener leider schon überfordert, trotz eines prominenten "ENDE" Buttons und nur einem Icon auf dem Desktop).

Frommer Wunsch 2: Integration des Script-Editors in Delphi zwecks Code-Vervollständigung - aber das ist vermutlich wirklich eher Wunschdenken.

Bevor ich jetzt alle in Frage kommenden Scripting Engines abklapper, wollte ich hier zunächst fragen, ob ihr bereits welche anhand der Anforderungen empfehlen oder gerne auch ausschließen könnt.


Vielen Dank im Voraus!
"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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 13:43
Schau dir mal http://de.wikipedia.org/wiki/AvERP an. Dort wird das ähnlich gelöst
Markus Kinzler
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#3

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 13:47
Für GUI-Scripting kann man sich mal PDScript anschauen.
Basiert auf RemObjects pascal-script.

http://www.be-precision.com/products/pdscript/
Hans-Peter
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 14:15
Warum denn nicht gleich HTML/Javascript auf nem Webserver? Nachteil ist, dass man den clientseitigen Quellcode praktisch offenlegt.
Delphi programming
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
529 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 14:19
Hallo, so etwas hätte ich. Zur Zeit benutze ich es für unser Kassenprogramm, um variable Oberflächen für unsere Kunden zu bauen. Die Idee, daraus etwas zur Anlagensteuerung zu machen habe ich schon lange (komme eigentlich auch aus dem Bereich).

http://www.delphipraxis.net/168991-f...b-der-ide.html


Bei Interesse bitte eine PN.
Ralf
Gruß vom Niederrhein

Geändert von Neumann ( 5. Feb 2013 um 14:24 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 14:23
Eine reine Weblösung scheidet hauptsächlich deswegen aus, weil dann unsere gesamte Projektinfrastruktur quasi vom Boden aus neu aufgebaut werden müsste. Es ließe sich praktisch nichts wiederverwenden, das ist schlicht nicht praktikabel. (Nicht, dass ich dem Gedanken nicht auch schon ab und an mal ein paar Stündchen Recherche gegönnt hätte ) Ich spiele vor allem auch mit dem Gedanken, bestehende Lösungen darauf hin umzubauen, wobei sich für den Benutzer am Ende nichts erkennbar ändern darf. Ein Browser passt hier überhaupt nicht ins Bild (vor allem nicht für die Multi-Monitor Lösungen).

pdScript liest sich bis jetzt schon mal sehr ansprechend! Vor allem der Preis lädt gewaltig zum Testen ein Insbesondere, dass die embedded Variante wohl einfach DFMs und Quellcode vom Host entgegen nehmen kann, ohne Umwege über Dateien, klingt ja schon fast ZU perfekt und passend mit meinen Ideen von oben! Den kannte ich noch nicht, riesen Dank. Da werde ich mal mindestens ein langes Wochenende mit spielen gehen.
"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
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 14:58
Zu früh gefreut. pdScript arbeitet wohl wirklich nur mit dem normalen TForm, ich brauche aber eine von TCustomForm abgeleitete eigene Formularklasse. Zudem scheint es zwar mit Komponenten klar zu kommen, aber eben auch nur den Standard-VCL Teilen. Wir nutzen fast ausschließlich TMS Controls, ein paar Dinge der JVCL, und eine ganze Palette an In-House entwickelten Controls. Solche DFMs wird mir pdScript wohl leider nicht futtern. (Wäre es nicht als DLL, sondern als Quelle verfügbar, wäre das vermutlich alles problemlos möglich ) Zudem unterhält unsere Form-Klasse einen Thread mit MySQL Zugriff via UniDAC. Wie sich das mit einer DLL u.U. verträgt ist auch schwer abzuschätzen.

@Neumann: Würde deine Lösung hiermit zurecht kommen? (Hab dich leider erst jetzt gesehen, vorhin war die Rote Box wohl wieder etwas faul.)
"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
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#8

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 15:11
Tja ein Script kann eben nur das aufrufen was zur Script-Engine gelinkt ist.
Und das ist nun mal bei pdScript nur die Standard-Delphi runtime lib.

Bliebe denn dann noch die Möglichkeit die eigenliche Pascal-Script engine von RemObjects einer eigenen Anwendung hinzuzufügen?
Die würde dann die TMS und JVCL Kompos enthalten.
Hans-Peter
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
529 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 5. Feb 2013, 16:29
Sollte funktionieren. Bisher brauchte ich nur Edits, Grids und buttonartige Controls und reine Anzeigeelemente. Von den TMS-Komponenten bisher nur den SmoothStatusIndidicator. Grundsätzlich sollten aber alle visuellen Komponenten integrierbar sein.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#10

AW: Datenbank-Definierte Forms, suche geeignetes Scripting Tool

  Alt 6. Feb 2013, 07:35
Ich habe das mal mit DWS (Delphi Web Script) erledigt und zusätzliche Funktionen per COM-Objekt dynamisch zur Laufzeit hinzugefügt. Analog sollte das mit anderen Scriptengines auch gehen.

Da DWS ganz gut geschrieben ist, könntest Du auch direkt im Quellcode ansetzen und an der Stelle, wo eine Methode beim precompile aufgelöst wird, in deinen Plugins (DLL) suchen, entsprechende Eigenschaften setzen und bei Ausführen dann diese Routine aufrufen.

Aber ich denke, die COM-Variante ist ausreichend, simpel genug und in vielen Scriptengines verfügbar.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz