Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Runtime Error 216 (mal wieder) (https://www.delphipraxis.net/58756-runtime-error-216-mal-wieder.html)

SubWorx 12. Dez 2005 10:57


Runtime Error 216 (mal wieder)
 
Hi,

ich teste gerade Delphi 2005 Architect auf Windows XP SP2

Seit heute (hab übers Wochenende nichts verändert) spinnt die Interaktion mit Komponenten.

Sobald ich auch nur ein Label ändern will, bekomme ich den Runtime Error 216.
Dabei sieht mein Code so aus:

Delphi-Quellcode:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
  private
  public
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
begin
Form1.Label1.Caption := 'Text';
end.
Also eine Standard VCL Anwendung, ein Label Control und eine Zuweisung.
Kann mir jemand erklären, warum?

Hab zwar heut früh mit Pointern rumgespielt, aber das kanns ja wohl nicht sein, nach Neustart und Neuinstallation von Delphi (würg, dauert ewig)

Danke im Voraus

SubWorx

[edit=r_kerber]Doppelpost gelöscht. Mfg, r_kerber[/edit]

tomsel 12. Dez 2005 11:10

Re: Runtime Error 216 (mal wieder)
 
Hi,

ich geh mal davon aus, dass Dein Codeschnipsel stark gekürzt ist und im wirklichen Programm der Variablen Form1 auch eine Instanz von TForm1 zugewiesen wird und die Zuweisung form1.Label1.Caption := 'Text' innerhalb einer Prozedur steht?

Gruß

Jens Schumann 12. Dez 2005 12:28

Re: Runtime Error 216 (mal wieder)
 
Hallo,
mit dem Source gibt sogar D1 aus den Latschen.
Delphi-Quellcode:
implementation
{$R *.dfm} 
begin
Form1.Label1.Caption := 'Text';
end.
Überlege Dir mal wie die units beim Programmstart initialisiert werden und ob Form1 an dieser Stelle existent ist.

jim_raynor 12. Dez 2005 13:20

Re: Runtime Error 216 (mal wieder)
 
Zitat:

Zitat von Jens Schumann
Hallo,
mit dem Source gibt sogar D1 aus den Latschen.
Delphi-Quellcode:
implementation
{$R *.dfm} 
begin
Form1.Label1.Caption := 'Text';
end.

War nicht begin... end. gleich dem initialization Abschnitt. Dann ist klar das es zum Runtime Error kommt, da Form1 noch nicht existiert (nil) ist und im initialization in der Regel das Exception Handling noch nicht initialisiert ist. Das quittiert dann Delphi mit einem Run Time Error.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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