Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#11

AW: 'Der Vorgang kann nicht erzeugt werden', Delphi 7

  Alt 19. Mär 2013, 22:58
Hallo,

eine interessante Konstruktion, die Du da hast; interessant auch, dass das überhaupt funktioniert. Scheinbar betrachtet der Compiler Deine TText-Methoden als klassenstatische Methoden, so dass Du sie auch aufrufen kannst. Dies funktioniert aber nur solange Du die Variable TextClass in Deinem Project-Main deklarierst. Wenn ich die Deklaration in die Unit verschiebe, dann kracht es bei mir mächtig.

Mal ein paar Dinge, die Dir bei der Delphi-Programmierung weiterhelfen werden:
Delphi-Quellcode:
type
    TText = class
    private
      iStdTextColor: Integer;
    public
      procedure printf(sText: String; TextColor: Integer=0); // formatierte Ausgabe
      procedure ClrScr; // Konsole leeren
      function Ansi2OEM(AnsiString: string): string; // ANSI-String zu OEM-String
      procedure TText; // Konstruktor
  end;
Die procedure TText ist eine ganz normale Prozedur, kein Konstruktor!

Was in C++ TText::TText ist in Delphi mit dem Zauberwort constructor zu bauen.
Was in C++ TText::~TText ist in Delphi mit dem Zauberwort destructor zu bauen.

Delphi-Quellcode:
type
    TText = class
    private
    public
      constructor Create; // jetzt ist es ein Konstruktor
      destructor Destroy; override;
  end;

implementation

constructor TText.Create;
begin
  inherited Create;

  // Deine Initialisierung
end;

destructor TText.Destroy;
begin
  // Alles was noch aufgeräumt werden muss
  inherited Destroy
end;
Hoffe es hilft Dir weiter.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat