hm also das kann ich nicht bestätigen, muß ich sagen.
natürlich baut man eine anwendung so, das man eine vernünftige architektur hat. unsere clients sind "so doof", das sie selbst nicht mal eine positionssumme einer rechnung berechnen können, das läuft alles serverseitig oder über zwischenschichten (nicht delphi
)
von den datensensitiven komponenten bin ich eigentlich sehr überzeugt, das funktioniert auch fantastisch, insb. mit devart, welches mit einigen gut gesetzten properties auch super
sql statements formuliert. aber lassen wir mal diese glaubensdiskussion aussen vor.
letztendlich ist ja die frage, wir designe ich eine applikation welche potentielle "hangs" verursacht so, das ich möglichst zentral diese problematik aus wenigen klassen heraus abfangen kann. mit multithread und disable/enable forms sind wir gleich wieder darauf hereingefallen, das zB zyklische hintergrundthreads die modalstati zerschossen haben.
Bsp:
Anwender drückt button "löschen" -> modal
Backgroundthread -> DisableForms -> Refresh (dataset,
indy, datasnap) -> EnableForms.
Das TForm.Enabled zerlegt den Modalstatus und der Anwender kann plötzlich weiterarbeiten, woanders hinklicken, ohne die frage zu beantworten. sicher kann man auch dies wieder abfangen, nur wie gesagt - mich wundert das es kein
standard entwurfsmuster in delphi für solche fälle gibt. bei uns ist das problem jetzt nicht wirklich eines, es läuft alles gut und die 3 anwender mit isdn verbindung (oder umts zb auf bautstellen) schulen wir schon so, das diese wissen woran sie sind, aber es muß doch mal ein vernünftiges entwurfsmuster geben, welches sich mit den eigenheiten der oberfläche /
vcl bewährt hat.