Einzelnen Beitrag anzeigen

USchuster

Registriert seit: 12. Sep 2010
Ort: L.E.
120 Beiträge
 
Delphi XE3 Professional
 
#15

AW: Array of String wird nicht als solches erkannt

  Alt 21. Aug 2011, 14:21
@USchuster Respekt man sieht du hast ahnung ^^ aber für mich war das etwas zu kompliziert hab noch nicht lange informatik kenne also noch nicht so viele Begriffe. Ich sag mal ich hab nur Bahnhof verstanden^^ trotzdem danke
Bzgl. dem Bahnhof meinst Du bestimmt Scopeproblem. Es wurde im Prinzip schon erklärt und bedeutet das es einen Namenskonflikt gibt - der Compiler nimmt einen anderen Bezeichner als vom Programmierer beabsichtigt. Für Bezeichner gibt es verschiedene Gültigkeitsbereiche und sofern man die Bezeichner nicht genauer definiert/qualifiziert, dann wird jeweils der, wie von himitsu geschrieben, "nähere" Bezeichner verwendet.

Das folgendes Beispiel erklärt das vielleicht auch
Delphi-Quellcode:
program ScopeDemo;

{$APPTYPE CONSOLE}

uses
  Controls;

var
  Text: string = 'Globale Variable Text';

type
  TFoo = class(TControl)
  public
    procedure Test;
  end;

{ TFoo }

procedure TFoo.Test;
var
  Text: string;
begin
  WriteLn(Self.Text);
  Text := 'Variable Text in TFoo.Test';
  WriteLn(Text);
  WriteLn(ScopeDemo.Text);
end;

var
  Foo: TFoo;
begin
  Foo := TFoo.Create(nil);
  try
    Foo.Text := 'Property TControl.Text';
    Foo.Test;
  finally
    Foo.Free;
  end;
  ReadLn;
end.
Das sollte folgenden Output erzeugen
Code:
Property TControl.Text
Variable Text in TFoo.Test
Globale Variable Text
Vielleicht hilft auch dieser Link weiter Deklarationen und Anweisungen (Delphi) | Namenskonflikte.
  Mit Zitat antworten Zitat