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ß