AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Object Pascal Compiler

Ein Thema von Tommi · begonnen am 23. Mai 2003 · letzter Beitrag vom 27. Mai 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Tommi
Tommi

Registriert seit: 23. Mai 2003
27 Beiträge
 
Delphi 3 Professional
 
#11
  Alt 24. Mai 2003, 13:03
Hi Duffy

Ja in den GNU Pascal Compiler hab ich auch schon reingeschaut und genau da befindet sich auch - meines Erachtens - eine "Syntaxerweiterung" für die Typendeklaration von ShortStrings...

Nun ja, ich werd mich noch durch einige Dokumentationen durchwühlen müssen...
  Mit Zitat antworten Zitat
Benutzerbild von Tommi
Tommi

Registriert seit: 23. Mai 2003
27 Beiträge
 
Delphi 3 Professional
 
#12
  Alt 27. Mai 2003, 16:58
Mmmkay... irgendwo im Internetz hab ich eine PDF der Delphi 4 doku gefunden und darin auch eine Eklärung für mein Mißverstädnis bezüglich Klassen und Objekte entdeckt - muß mich noch weiter durchlesen. Also Objects werden nur aufgrund Abwärtskompatibilität bewahrt mhm fein... Und Klassen haben bereits vorgefertigte Konstruktoren und Destruktoren...
Aber irgendwie hab ich das Gefühl, daß da Probleme mit meinen Linked-Lists aufkommen, für die ich schon ganz gerne sowohl Konstruktor als auch Destruktor schreiben möchte (bzw. muß), sonst geht meine Identifier Table und mein Token Stream nimmer...
Also kann ich bei Klassen auch selbst Konstruktoren und Destruktoren schreiben?

Und kann mir jemand erklären, wie TObject definiert ist? (oder wo zu finden, ein Link wär ganz hilfreich)

Danke im Voraus!
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#13
  Alt 27. Mai 2003, 17:18
Zitat von Tommi:
Also kann ich bei Klassen auch selbst Konstruktoren und Destruktoren schreiben?
Natürlich kann man eigene Konstruktoren und Destruktoren schreiben.
Delphi-Quellcode:
TMyClass = class(TObject)
  constructor Create(const Irgendwas: string);
  destructor Destroy; override;
end;
Zitat:
Und kann mir jemand erklären, wie TObject definiert ist?
Die FreeCLX enthält unter anderem die System-Units von Delphi/Kylix.
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#14
  Alt 27. Mai 2003, 17:54
Hallo,

das ist ja eine interessante Diskussion hier .
Ein paar Kleinigkeiten möchte ich auch beisteuern, die mir in Delphi ein bißchen fehlen:

1.) Den Mengenopereator in[] könnte man vielleicht "aufbohren", damit er auch mit LongInteger Typen klarkommt
2.) die Case-Anweisung sollte auch mit Strings u.dgl. funktionieren
3.) Klassen sollten mehrere Vorfahren haben können
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Benutzerbild von Tommi
Tommi

Registriert seit: 23. Mai 2003
27 Beiträge
 
Delphi 3 Professional
 
#15
  Alt 27. Mai 2003, 18:07
An jbg: Vielen Dank! Und ebenso danke für Deine Geduld - ich bin kein regelmäßiger Programmierer, es gab bislang Phasen, da hab ich bis zu zwei Jahre nicht einen Compiler angefaßt, aber mich mit anderen Dingen beschäftigt, also fehlt mir da schon die Kontinuität und in Sachen Objekte und Klassen bin ich erst vor wenigen Wochen durchgestiegen, obwohl ich sie seit gut drei Jahren in Form von JavaScript schon angewandt hab

An Garby: großartige Idee mit den Cases..., das mit Klassen muß ich echt noch irgendwie detailierter nachlesen... ohje... demnach kann ich jetzt auch nicht verstehen, daß sie nicht mehrere Vorfahren haben können.
Auf wieviele sind sie denn beschränkt?

So, nachdem ich das mit den Constuctors und Destructors erfahren hab, kann ich ja getrost die "Object"s in "Class"es umschreiben
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#16
  Alt 27. Mai 2003, 18:44
Zitat von Tommi:
Auf wieviele sind sie denn beschränkt?
Auf einen Vorfahr.
Mir ist aber bis jetzt noch kein Klassenbaum untergekommen, in dem eine Klasse mehrere Vorfahren haben musste. Und sollte das dann doch irgendwann einmal eintreten, gibt es immer noch den Umweg über Interfaces.
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#17
  Alt 27. Mai 2003, 19:23
Ich hätte einen Anwendungsfall:

Bsp:
ich leite mehrere StandardVCL Komponenten ab, z.B. von TEdit, TDBEdit, TComboBox, TPanel.
Diese Komponenten erhalten dieselben neuen Properties(z.B. die laufende Nummer eines Datensatzes einer Tabelle, in der Mehrsprachigkeit oder evtl. ein Hilfesystem abgebildet ist).

Da würd sich doch folgendes anbieten:
Delphi-Quellcode:
type
  TMyControl = class(TWinControl)
  private
    FmyHelpID: Integer;
  public
    procedure ShowHelp;
  published
    property myHelpID: Integer read FmyHelpID write FmyHelpID;
  end;

  TMyEdit = class(TEdit, TMyControl)
  end;

-----------------------------

procedure TMyControl.ShowHelp;
begin
  ShowMessage(GetHelpTextFromDB(myHelpID));
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_F3) and (Shift = []) and (ActiveControl is TMyControl) then
    TMyControl(ActiveControl).ShowHelp;
end;
Oder hast du da eine andere Lösung parat?
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#18
  Alt 27. Mai 2003, 19:56
Delphi-Quellcode:
type
  THelpEx = class
  private
    FOwner: TComponent;
    FmyHelpID: Integer;
  public
    constructor Create(AOwner: TComponent);
    procedure ShowHelp;
  published
    property myHelpID: Integer read FmyHelpID write FmyHelpID;
  end;
TMyEdit = class(TEdit)
private
FHelpEx: THelpEx;
procedure SetHelpEx(Value: THelpEx);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property HelpEx: THelpEx read FHelpEx write SetHelpEx;
end;

constructor TMyEdit.Create(AOwner: TComponent);
begin
inherited;
FHelpEx := THelpEx.Create(Self);
end;

destructor TMyEdit.Destroy;
begin
FHelpEx.Free;
inherited;
end;[/delphi]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 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