AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

Ein Thema von fisipjm · begonnen am 17. Okt 2022 · letzter Beitrag vom 18. Okt 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

  Alt 18. Okt 2022, 08:54
Da sich diese Anforderungen während der Benutzung der Anwendung ändern können, möchte ich das gerne dynamisch zusammen setzen können. Müsste ja mit RTTI gehen, dass ich aus den Strings in der Datenbank die Prozeduren raus fische und die dann entsprechend dran hänge.
Könntest du hierfür noch ein konkretes Beispiel geben?
Also, was steht in der Datenbank und was soll damit passieren?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
334 Beiträge
 
Delphi 12 Athens
 
#2

AW: Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

  Alt 18. Okt 2022, 09:10
Da sich diese Anforderungen während der Benutzung der Anwendung ändern können, möchte ich das gerne dynamisch zusammen setzen können. Müsste ja mit RTTI gehen, dass ich aus den Strings in der Datenbank die Prozeduren rausfische und die dann entsprechend dran hänge.
Könntest du hierfür noch ein konkretes Beispiel geben?
Also, was steht in der Datenbank und was soll damit passieren?
Moin,

Noch steht in der Datenbank
1. Zeile - Task 1
2. Zeile - Task 2
3. Zeile - Task 3
usw.*...

Ich hätte es zukünftig gerne so:
Tabelle 1 (Sichtbar für Otto normal Bediener)
1. Zeile - Bundle 1

Andere Tabelle (Zugriff von Benutzern mit Ahnung vom Ablauf)
BundleName = Bubndle 1
PreTask = Task 1;Task x ...
MainTask = Task 2
PostTask = Task 3;Task x ...

Andere Tabelle (irgendwann mal halbautomatisch gefüllt) zur Verfügung stehende Tasks
1. Zeile - Task 1
2. Zeile - Task 2
3. Zeile - Task 3


Diese Struktur hatte ich gedacht mit den Anonymen Prozeduren abbilden zu können. Also im Prinzip das Bundle
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#3

AW: Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

  Alt 18. Okt 2022, 09:15
Und "Task x" steht dann für eine der Prozeduren a, b, c,...?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
334 Beiträge
 
Delphi 12 Athens
 
#4

AW: Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

  Alt 18. Okt 2022, 09:54
Und "Task x" steht dann für eine der Prozeduren a, b, c,...?
Genau, alle Prozeduren, die angehängt werden sollen, existieren bereits im Code. Sollten aber in beliebiger Anzahl dran gehängt werden können.
Also Pro bzw. Post Prozedur kann auch leer sein oder eben 10 Prozeduren enthalten, deshalb im Code das
Code:
Array of TProc
Ich habe absolut keinen Peil, ob das funktionieren kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#5

AW: Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

  Alt 18. Okt 2022, 10:00
Wenn der TaskManager dafür nichts bietet, dann machen es die Task eben selber


TaskA kann auch TaskB/SeineProc mitgegeben werden, welchen Diesen an seinem Ende startet/übergibt.

oder es gibt global Events, wo TaskA am Ende mit SetEvent reagiert und TaskB hat das WaitFor (für den Fall, dass er zu früh kommt).
bzw. es muß nicht global sein, aber Beide müssen ihr Event kennen und B gibt es dann am Ende frei.

oder ...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Okt 2022 um 10:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#6

AW: Frage zu Anonymen Prozeduren (TProc) und verwendung als Bauskasten

  Alt 18. Okt 2022, 10:41
Wenn ich das jetzt richtig verstehe, dann haben wir pro Bundle drei Strings PreTask, MainTask und PostTask mit Inhalten wie z.B. 'a,b', 'c' und 'd,e' und das soll zu folgender Aufrufsequenz führen:
Delphi-Quellcode:
begin
  { pre }
  a;
  b;

  { main }
  c;
  
  { post }
  d;
  e;
end;
Ich würde einfach ein TDictionary<string, TProc> verwenden und dort die einzelnen Methoden mit ihren Namen registrieren. Um dann die Tasks eines Bundles auszuführen zerlegt man die PreTask, MainTask und PostTask Strings in seine Einzelteile, holt sich die entsprechende Methode aus dem Dictionary und führt die aus. Das ist leicht zu verstehen, noch leichter zu warten und ausreichend performant.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:59 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