Autor Beitrag
spacerunner
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Sa 20.10.07 11:20 
Hallo,

ich stehe vor folgendem Problem: ich möchte vor dem Öffnen einer Datenbank / TDataSet eine Prüfung vornehmen und das Öffnen gegebenenfalls verhinden.

Ansatz: im BeforeOpen-Handler irgendetwas ausführen. damit kommt ich aber nicht weiter. gibt es irgendeine möglichkeit, das umzusetzen?

(zum konkreten problem: ich habe meine (vielen) datasets in designtime active, muss sie aber in runtime manuell aktivieren, nach bestimmtem vorgaben)

ich wäre für hilfe sehr dankbar!

mfg,
chris.-
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Mo 22.10.07 17:44 
user profile iconspacerunner hat folgendes geschrieben:
... ich habe meine (vielen) datasets in designtime active, ...


Generell sollte man nach Möglichkeit vermeiden, schon während der Designzeit Tabellen offen zu halten; hab mir immer wieder den eine oder anderen (zuerst nicht nachvollziehbaren) Fehler beiom Starten des Programm eingehandelt. Das was du vor hast, wird somit nicht funktionieren (nach meiner bescheidenen Kenntnis), weil die Tabellen während des FormCreate bereits aufgemacht werden und von daher weitere 'BeforeOpen'-Activitäten noch nicht zum Zuge kommen...

Besser ist es auf jeden Fall, die benötigen Tabellen während des Programmstarts bzw -laufes entsprechend zu aktivieren.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 22.10.07 19:58 
Die GExperts haben einen völlig unterschätzten Helfer, der innerhalb der IDE vor dem Kompilieren sicherstellt, das frei wählbare Eigenschaften einzelner Komponenten auch wirklich vordefinierte Werte annehmen.

Ich habe z.B. für TQuery und TTable die Eigenschaft 'Active' auf False und TDatabase.Connected auf False. Egal wie und wo ich mit den Tabellen zur Designzeit rumspiele, im Kompilat sind sie garantiert alle geschlossen.

_________________
Na denn, dann. Bis dann, denn.
Robert.Wachtel
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: Mo 22.10.07 21:25 
user profile iconalzaimar hat folgendes geschrieben:
Die GExperts haben einen völlig unterschätzten Helfer [...]


:D Das freut mich zu hören. :D
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Mo 22.10.07 22:32 
Okay... da ich GExperts wenig kenne und so gut wie garnicht damit arbeite (warum eigentlich :gruebel:) war/ist mir die von alzaimer genannte Möglichkeit natürlich nicht in den Sinn gekommen *zu meiner Schande gesteh* ist aber schön zu wissen, dass es sowas gibt :)
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Di 23.10.07 07:28 
Lass mal, ich hab mich beinahe 10 Jahre geärgert, das beim Kunden die SW bei der Installation hängen blieb, weil ich mal wieder vergessen habe, die TDatabase/TADOConnection/TSocketConnection vor dem Kompilieren zu schließen. Nur um dann irgendwann beim rumspielen auf diesen 'Set Component Properties' Typen zu stoßen... :dance2:

_________________
Na denn, dann. Bis dann, denn.
Robert.Wachtel
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: Do 25.10.07 01:20 
:mrgreen: Genau so eine Situation war die Motivation für die Entstehung dieses Experten... ;)