AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Unterschied zwischen initialization und letztes begin
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschied zwischen initialization und letztes begin

Ein Thema von ferby · begonnen am 14. Jul 2006 · letzter Beitrag vom 14. Jul 2006
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Unterschied zwischen initialization und letztes begin

  Alt 14. Jul 2006, 01:42
Hallo,

wo ist hier der Unterschied?
Ich meine, wann verwende ich welche Methode um
eine Variabel, oder was weiß ich zu initialisieren,
und wofür verwende ich die andere Methode?

Die zwei folgenden Quellcodes sind bis
auf die vorvorletzte Zeile Ident, und machen
meiner Ansicht auch das gleiche.....
oder gibt es da Uuterschiede im Detail?

Einmal so:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Controls, Forms, Dialogs, Classes, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

  a:string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(a);
end;

initialization
  a:='TEST';
end.
Und einmal so:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Controls, Forms, Dialogs, Classes, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

  a:string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(a);
end;

begin
  a:='TEST';
end.
Ich möchte einfach wissen wann ich initialization bzw. begin verwende und warum
nicht jeweils die andere Methode?
  Mit Zitat antworten Zitat
muRR
(Gast)

n/a Beiträge
 
#2

Re: Unterschied zwischen initialization und letztes begin

  Alt 14. Jul 2006, 03:29
Nun der wichtigste Unterschied, der mir einfiele, wäre der, dass man mittels initialization und finalization eine golable Variable initialisieren und deinitialisieren kann. Das meint auch Handles erstellen und freigeben, also den reservierten Speicher wieder aufräumen. Bei begin kann man nur initialisieren und müsste sich darauf verlassen, dass in einer Prozedur aufgeräumt wird. So hat man diese Unsicherheit nicht.
  Mit Zitat antworten Zitat
marabu

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

Re: Unterschied zwischen initialization und letztes begin

  Alt 14. Jul 2006, 07:21
Guten Morgen Ferdinand,

wenn dir die neuen Sprachmittel initialization und finalization zur Verfügung stehen, dann benutze ausschließlich diese. Nur aus Gründen der Abwärtskompatibilität wird auch noch die alte Methode unterstützt - aber auch nicht immer:

Delphi-Quellcode:
implementation

{$R *.dfm}

var
  OldExitProc: Pointer;

procedure DoInitialize;
begin
  // ... init code
  OldExitProc := ExitProc;
  ExitProc := @DoFinalize;
end;

procedure DoFinalize; far;
begin
  ExitProc := OldExitProc;
  // ... final code
end;

begin
  DoInitialize;
end.
Näheres findest du in der Online Hilfe unter ExitProc.

Grüße vom marabu
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Unterschied zwischen initialization und letztes begin

  Alt 14. Jul 2006, 09:27
Ist der far; Parameter mit absolet mit Win32?
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Unterschied zwischen initialization und letztes begin

  Alt 14. Jul 2006, 09:34
Hallo,
Zitat von Muetze1:
Ist der far; Parameter mit absolet mit Win32?
ist er, aber er stört ja auch nicht .

Gruß
xaromz
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Unterschied zwischen initialization und letztes begin

  Alt 14. Jul 2006, 14:42
Hallo,

danke für die Antworten,
dann werde ich nur initialization verwenden.
  Mit Zitat antworten Zitat
Antwort Antwort


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