Autor Beitrag
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mo 07.02.05 21:06 
Guten Abend :)

ich lese immer häufiger die o.g. Begriffe und komme langsam durcheinander(keine Angst, OOP hab ich schon verstanden;)). Was ist den nun genau ein Header? Und wann ist eine Klasse den nun eine Wrapperklasse(API Aufrufe können doch auch bei normalen Klassen enthalten sein).

Achso und wann ist eine Klasse den nun eine Komponente? Muss diese Klasse von einer bestimmte Basisklasse abgeleitet sein, den jede Klasse wird doch automatisch von TObject abgeleitet und wäre doch somit eine Komponentenklasse, oder?

Zum Schluss würde ich noch gerne wissen, wie man "Komponenten" Instanz nennt, die zur Laufzeit erstellt(aber meinetwegen auch in der Palette verfügbar sind) werden?

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.
Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Di 08.02.2005 um 09:18
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 07.02.05 21:36 
Also, dann nehme ich mir mal die ersten Begriffe vor:
Klasse
Allgemeiner Begriff für alle Objekte in Delphi. Da fällt alles drunter, was irgendwie einen Konstruktor und Destruktor hat.

Wrapperklasse
Im Prinzip auch nicht mehr als eine Klasse, nur dass hier (meist komplizierte) Aufrufe in einem bestimmten Sektor (DirectX, OGL, API) mit möglichst einfachen Aufrufen gekapselt werden. So wird das Ganze einfacher zu bedienen, die Übersicht fällt Anfängern wesentlich einfacher, aber auch eine Verringerung des Funktionsumfangs der Original-Aufrufe ist oft die Folge. Man schaue sich z. B. DelphiX an.

Komponenten
Komponenten sind spezielle Klassen, die von TComponent (nicht sicher, bitte nochmal n Profi absegnen) abgeleitet sind. Diese notwendige Basis-Klasse bringt alle Methoden mit, die gebraucht werden, damit die Klasse schon zur Entwurfszeit in der Komponenten-Palette verfügbar ist.

Laufzeit-Objekte
Keine Bange. Das ist rein gar nichts Neues. Laufzeit-Objekte oder auch dynamische erzeugte Objekte unterscheiden sich von allen anderen nur dadurch, dass sie während der Programmausführung erzeugt werden, sprich keine von dir aufs Formular gezogenen Komponenten sind.
Alles, was du manuell im Programm mit
ausblenden Delphi-Quelltext
1:
MyInstance := TMyClass.Create;					

erzeugst, kannst du mit dem Schlüsselwort "dynamisch" versehen. Dazu können sowohl völlig unsichtbare Objekte, wie auch Komponenten gehören.


Den Begriff Header hätte ich aber gerne selbst auch mal erklärt bekommen. ;)
digi_c Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mi 09.02.05 19:41 
Danke für die genaue Beleuchtung jetzt hbae ich gewissheit, wer weiß aber noch was Header sind? Oder ist das nur Slang für Wrapper?
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Mi 09.02.05 23:32 
Hallo,

header kommen aus der C-ecke. Im prinzip sind es sowas wie bei uns der Interface-abschnitt, nur als einzelne datei (*.h), die zu einer quellcodedatei (*.c) gehört. In delphi wird meist von headern gesprochen, wenn eine DLL durch eine unit nutzbar gemacht wird, sie dient dann (wie in c auch) auch nur dazu den korrekten zugriff zu ermöglichen.

_________________
mfg.
mâximôv
minnime
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 171

Win 7
Delphi Prism 2011, C# (VS 2010)
BeitragVerfasst: Do 10.02.05 10:32 
Das heißt also dass eine Headerdatei eine in eine Unit verpackte Wrapperklasse ist.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Do 10.02.05 10:37 
Nein, das hat mit Wrapperklassen nichts zu tun. In C ist es die Deklaration der Klasse, und in Delphi, wie Maximus schon sagte, enthält eine Headerdatei meist nur Informationen für den Zugriff auf Dlls, also Funktionsdeklarationen, benötigte Konstanten und verwendete Typen.

Cu,
Udontknow
minnime
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 171

Win 7
Delphi Prism 2011, C# (VS 2010)
BeitragVerfasst: Do 10.02.05 13:36 
Ja eben, wo ist da jetzt der Unterschiedbeide machen doch nichts anderes als andere Funktionen zu kapseln.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Do 10.02.05 14:14 
Es wird nichts gekapselt! Es sind nur die Deklarationen in einer Header-Unit. Das ist kein Kapseln, da es in keinster Weise für eine Verringerung der Komplexität des Codes sorgt.

Cu,
Udontknow
minnime
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 171

Win 7
Delphi Prism 2011, C# (VS 2010)
BeitragVerfasst: Fr 11.02.05 10:16 
Alles klar, jetzt hab ichs. Bei Headern werden also nur unübliche Datentypen und Aufrufmethoden (wenn ich das mal so sagen darf) in, in der jeweiligen Programmiersprache bekannte Datentypen übersetzt und die Handhabung angepasst. Bei den Wrapperklassen werden zusäzlich noch vereinfachungen vorgenommen, z.b. das Weglassen selten verwendeter Parameter bzw. deren automatische Einstellung quasi wie bei einem Auto mit Automatikgetribe (vielleicht ein doofes Beispiel).
digi_c Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Fr 11.02.05 19:57 
Genau, also so Richtung DLL Deklaration in externer Datei, gell :)

Danke an alle für die Erläuterungen!