AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Sinn & Funktion Initialisierungs-/Finalisierungsteil
Thema durchsuchen
Ansicht
Themen-Optionen

Sinn & Funktion Initialisierungs-/Finalisierungsteil

Ein Thema von hannes2011 · begonnen am 25. Feb 2010 · letzter Beitrag vom 26. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2      
hannes2011

Registriert seit: 25. Feb 2010
4 Beiträge
 
#1

Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 16:55
Hallo zusammen,

in einem Informatikvortrag soll ich in einen Programmbeispiel auch den Initialisierungs- und den Finalisierungsteil einer Unit nutzen.
Der Sinn des Initialisierungszeil ist eigentlich klar - es sollen Operationen durchgeführt werden, die nur einmal zum Start des Programms ausgeführt werden. Für den Finalisierungsteil bedeutet das natürlich, dass dann die Operationen zum Ende des Programms gemeint sind.
Schön und gut - wie sieht das nun aber programmiertechnisch aus - hat da jemand ein Beispiel für mich?
Muss ich nun den Initialisierungsteil noch mit begin & end bestücken oder nicht? Da fängts ja schon an....
Ich dachte mir - laienhaft -, dass ich einfach mal eine Prozedur in den Initialisierungsteil packe & eine in den Finalisierungsteil.
Funktioniert natürlich nicht - war ja klar -.-.

Anbei mal ne ganz simple Unit - alles super, aber wie packe ich nun was da bei Initialization und Finalization rein?
Würde mich freuen, wenn mir jemand da kurz weiterhelfen könnte - vielen Dank für die Bemühungen im Voraus!!!

LG

- Hannes


-----
Delphi-Quellcode:
unit Unit1;

interface

procedure werte_einlesen(var k,w:real);
procedure ausgabe(x,y:real);

implementation

procedure werte_einlesen(var k,w:real);
begin
writeln('Eingabe k');
readln(k);
writeln('Eingabe w');
readln(w);
end;

procedure ausgabe(x,y:real);

var i:real;

begin
i:=x*y;
writeln('Ausgabe:',i:3:2);
end;

initialization

finalization

end.
[edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:12
Also ein gutes Beispiel wäre z.b. ein Singleton, d.h. ein Objekt das halt irgendwann einmal erstellt wird und dann theorethisch überall aufgerufen werden kann und immer das gleiche eine Objekt ist. Z.b. ein Manager an dem Objekte dran hängen, die über Änderungen informiert werden.

Im Finalization-Teil könnte man dort z.b. damit man sicher ist das das Objekt freigegeben wird, das Objekt am Ende des Programms wieder freigeben und die Objekte die an ihm hängen vorher abmelden.

Zum Initialization-Teil fällt mir grade nichts ein

MfG Alaitoc
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:12
Für den Initialization-Teil ist ein einfach es Beispiel das nötige randomize beim Verwenden von random.

Oder eben ein Objekt z.B. TList, das in der Unit benötigt wird, das kann man dann beim Start anlegen und beim Beenden wieder zerstören...
  Mit Zitat antworten Zitat
hannes2011

Registriert seit: 25. Feb 2010
4 Beiträge
 
#4

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:22
Ahhhhhhso - das hilft mir schon mal weiter, vielen, vielen Dank!
Das bedeutet, dass man in der simplen Konsolenanwendung zum Beispiel das realdln, was man ja benötigt, damit man die Ergebnisse noch sieht, einfach in den Finalisierungs-Teil packen könnte...

Jedenfalls hat es ansätzlich klick gemacht - vielen Dank für die schnelle Hilfe an euch & liebe Grüße
- Hannes
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:23
Das ist die Spielwiese für böse Buben die die Finger nicht von globalen Variablen lassen können

Delphi-Quellcode:
unit u1

var
  mystringlist : tstringlist;

.....

initialization
  mystringlist:=tstringlist.create;
finalization
  mystringlist.free;
end;
Gruß
K-H

Edit:
Das Readln gehört mehr zum eigentlichenProgrammablauf.
da wird nur Aufgebaut und wieder aufgeräumt
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:26
Zitat von hannes2011:
Ahhhhhhso - das hilft mir schon mal weiter, vielen, vielen Dank!
Das bedeutet, dass man in der simplen Konsolenanwendung zum Beispiel das realdln, was man ja benötigt, damit man die Ergebnisse noch sieht, einfach in den Finalisierungs-Teil packen könnte...

Jedenfalls hat es ansätzlich klick gemacht - vielen Dank für die schnelle Hilfe an euch & liebe Grüße
- Hannes
oh, gott ... bloß nicht!

In einer simplen Konsolenanwendung kannst du das Readln als letzten Befehl schreiben und gut.
Dieses Beispiel wird dir jeder vernünftige Informatiker zerpflücken.
Und jeden Laien wirst du damit auf die falsche Fährte bringen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:27
Auch wenn initialization und Finalisation in der Unit leer sind, wird trotzdem per Compiler-Magic was gemacht, z.B. Strings finalisiert
Glückauf
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:28
Hat eigentlich schon jemand erwähnt, dass initialization- und finalization-Abschnitte nur einmalig im gesamten Programm abgearbeitet werden, egal wie oft die Unit eingebunden wird?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:32
btw.
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

// Hier nix mit initialization oder finalization

begin
  try
    { TODO -oEntwickler -cKonsole Main : Hier Code einfügen }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
hannes2011

Registriert seit: 25. Feb 2010
4 Beiträge
 
#10

Re: Sinn & Funktion Initialisierungs-/Finalisierungsteil

  Alt 25. Feb 2010, 17:33
Zitat von Sir Rufo:
oh, gott ... bloß nicht!

In einer simplen Konsolenanwendung kannst du das Readln als letzten Befehl schreiben und gut.
Dieses Beispiel wird dir jeder vernünftige Informatiker zerpflücken.
Und jeden Laien wirst du damit auf die falsche Fährte bringen.
Weia...da gäbe es dann also schön Ärger...ok, falscher Gedankengang.
Ok, das mit der Stringliste klingt ja relativ sinnvoll - bei Programmstart freigeben/erstellen und bei Programmende den Speicherplatz/die Liste wieder freigeben.

Guuuut...großes Dankeschön an euch!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:05 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