AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unit initialisieren

Ein Thema von Berni68 · begonnen am 11. Mai 2010 · letzter Beitrag vom 14. Mai 2010
 
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: unit initialisieren

  Alt 12. Mai 2010, 17:45
Zitat von jaenicke:
Was macht denn Lazarus da so anders als Delphi?
Weiss nicht so genau, aber eigentlich ist es auch egal.
Denn:
1.) es sind wahrscheinlich noch Initialization-Abschnitte anderer Units vorhanden, die noch nicht ausgeführt wurden
2.) die Reihenfolge in der die Initialization-Abschnitte ausgeführt werden lässt sich nicht zuverlässig und stabil bestimmen.
Man kann schon Einfluss nehmen über die Projektdatei aber das ist nicht zuverlässig;
man kann jederzeit aus Unachtsamkeit oder Unwissenheit die Reihenfolge ändern
3.) Application.Initialize wurde noch nicht aufgerufen


Daraus lassen sich folgende Schlüsse ziehen:
a.) man darf sich niemals darauf verlassen, dass andere Units schon initialisiert sind
b.) man darf im Initialization-Abschnitt nur Dinge tun, die keinerlei Nebenwirkungen haben
erlaubt wäre z.B. Zufallsgenerator mit Startwert belegen, Array mit Sinuswerten vorab berechnen
nicht erlaubt sind z.B. Aktionen, die in irgeneiner Art mit dem Benutzer in Kontakt treten
oder Code der potentiell eine Exception auslösen kann
c.) man sollte den Initialization-Abschnitt so gut wie möglich vermeiden, denn er kann nur mit globalen Variablen und globalen Resourcen arbeiten.
Andreas
  Mit Zitat antworten Zitat
 


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:48 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