AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datamodule richtig Frei geben
Thema durchsuchen
Ansicht
Themen-Optionen

Datamodule richtig Frei geben

Ein Thema von renekr · begonnen am 14. Aug 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: Datamodule richtig Frei geben

  Alt 14. Aug 2007, 14:51
Hallo René,

auch wenn du nur mit einem Datenmodul arbeiten würdest: Eine gewisse Wartezeit beim Beenden eines ADO-Client ist normal. Da mehrere Zugriffsschichten abgräumt werden kann sich unter ungünstigen Umständen (mehrere Clients, viele offene Cursor, viele geänderte Puffer, ...) einiges an Zeit aufsummieren. Eventuell kannst du diese Zeit durch Verbesserungen am Datenmodell und der Implementierung verringern, aber ganz weg geht das nie. Minimal ist der Zeitraum, wenn du nur einen Client startest und sofort wieder beendest. Woran das bei dir genau liegt, könntest du eventuell mit einem SQL-Monitor herausfinden.

Freundliche Grüße
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Datamodule richtig Frei geben

  Alt 14. Aug 2007, 14:58
Hi marabu,
danke.

Wie macht ihr das eigentlich mit den Connections?
Ich habe pro Datenmodul 1-2 Connections ,das ist noch von anfang an und i weiß das das nciht optimal ist sogar eher das gegenteil bewirkt.

I muss halt auf veschiedene Databases mit unterschiedlichen usern Connecten aber nur 1 Server.

danke
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#13

Re: Datamodule richtig Frei geben

  Alt 14. Aug 2007, 18:50
Zitat von renekr:
Hi,
leider verwechsle i das nicht *GG*
Wirklich ganz sicher ?

Zitat von renekr:
..Wie macht ihr das eigentlich mit den Connections?..
Was gibts denn da zu tun ? Bei mehreren DBs an verschiedenen Orten ist lediglich der genaue Pfad zur DB zur Laufzeit zu setzen. Das schreibe ich in eine Ini-Datei. Zu Testzwecken kann man die mal schnell mit Editor ändern und hat prompt andere Daten, ohne Rumgefummele. So ungefähr :
Delphi-Quellcode:
  DataBase.Close;
  DataBase.DatabaseName := DatenBankName; // aus Ini oder von Hand setzen
  DataBase.Open;
  Transaction.Active := true;
Das gehört ins DatamoduleOnCreate des allgemeinen DMs. Die Datamodules werden dann von der IDE so in die DPR eingefügt :

Delphi-Quellcode:
  Application.CreateForm(TDM1, EingDM);
  Application.CreateForm(TDM2, JMod);
  Application.CreateForm(TDM3, ShopDM);
  Application.CreateForm(TSpDM, SpMod);
  Application.CreateForm(TfrmMenue, frmMenue); // MainForm
Sie werden also NICHT dynamisch erzeugt. Irgendwelche Fehler sind bei dieser Vorgehensweise noch nie aufgetaucht. Die Forms außer der MainForm werden allerdings ALLE dynamisch erzeugt, um das OnCreate der Forms sinnvoll benutzen zu können. Die DMs extra von Hand zu erzeugen ist IMHO Unfug. Könnte allerdings eventuell die EXE tatsächlich um 383,2353 Byte verkleinern und 0,00003522 Sek. beim Programmstart einsparen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:20 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