![]() |
Unterschied zwischen initialization und letztes begin
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:
Und einmal so:
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.
Delphi-Quellcode:
Ich möchte einfach wissen wann ich initialization bzw. begin verwende und warum
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. nicht jeweils die andere Methode? |
Re: Unterschied zwischen initialization und letztes begin
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.
|
Re: Unterschied zwischen initialization und letztes begin
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:
Näheres findest du in der Online Hilfe unter ExitProc.
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. Grüße vom marabu |
Re: Unterschied zwischen initialization und letztes begin
Ist der far; Parameter mit absolet mit Win32?
|
Re: Unterschied zwischen initialization und letztes begin
Hallo,
Zitat:
Gruß xaromz |
Re: Unterschied zwischen initialization und letztes begin
Hallo,
danke für die Antworten, dann werde ich nur initialization verwenden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 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