Autor Beitrag
mats
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Sa 19.01.19 11:27 
Hallo,

ich habe auf einer Form ein StringGrig mit 8x8 Feldern. Um damit rechnen zu können habe ich einige Proceduren geschrieben und jedes Feld muß auch formatiert werden. Und zusammengerechnet muß es in der letzten Spalte / Reihe auch noch. Ein Aufwand von ca. 200 Zeilen.

Jetzt habe ich noch zwei StringGrids, die verschiedene Größen zum ersten haben. Nun wäre es doch gut, dachte ich so simple, wenn ich eine Klasse schriebe, die von StrinGrid abgeleitet ist, und zusätzlich meine Funktionen enthält, die zum Rechnen und Formatieren etc. nötig sind.
(Von Klassen abgeleitete Klassen hab ich schon geschrieben, aber nur abgeleitet von meinen eigenen Klassen (C++[DOS], PHP). Noch nie hab ich irgendwas von einer Klasse der Vcl abgeleitet und/oder erweitert.)

type
TSG = class(TStringGrid)
...
funktioniert NICHT! (siehe Bild)

Gibt es irgendwo ein einfaches Beispiel, an dem ich mich orientieren kann? Hat vielleicht jemand sowas irdendwo in einen Tutorial veröffentlicht?

Bitte am Anfang eher einfache Vorschläge, Danke.

mats


p.s. Vielleicht stelle ich mich wieder mal ein wenig blöd an, aber wo/wie fügt man OrgSourceCode ein?
Einloggen, um Attachments anzusehen!
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 699
Erhaltene Danke: 102



BeitragVerfasst: Sa 19.01.19 13:19 
Eigentlich sollte es so funktionieren.
Kann es sein, dass Du den neuen Typ innerhalb einer Klasse definierst? Etwas mehr Quelltext wäre hilfreich.

ub60
mats Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Sa 19.01.19 18:46 
Hi,

bis jetzt habe ich eigentlich nichts gemacht: Ich habe eine neue Unit gestartet (ohne Formular), und die Namen ersetzt. Weiter nichts. Dann hab ich die Unit in mein Programm an Stelle von TSrinGrid geschrieben und wollt nur mal so kompilieren und Ende.
Denn, ich bin davon ausgegangen, daß ich über alle Funktionen von TSringGrid verfügen kann, nur dadurch daß meine Unit alles von TSringGrid erbt. Scheint aber nicht so zu sein?

mats
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.01.19 19:28 
- Nachträglich durch die Entwickler-Ecke gelöscht -
mats Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 20.01.19 10:36 
Hallo Frühlingsrolle,

wenn ich es richtig verstehe: Ich muß aus meiner 'neuen' StringGrid-Klasse, abgeleitet von TSringGrid, eine Komponente machen und diese dann in Delphi als Komponente installieren und registrieren. Und dann kann ich die neue Kopmonente einsetzen wie TSringGrid oder jede andere Komponente. Und dann überschreibt Delphi mir auch die .dfm Datei?

Genau das ist es was ich will!
Vielen Dank für die Aufklärung.

mats
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.01.19 11:13 
- Nachträglich durch die Entwickler-Ecke gelöscht -
mats Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 20.01.19 13:05 
Hi,

hat alles geklappt. Jetzt muß ich meine Erweiterungen einbauen. Nur eins. Ich hab das neue Package leider in meinem derzeitigen Projektverzeichnis gespeichert. Muß ich für ein nächstes Projekt in einem anderen Verzeichnis es noch mal neu installieren usw.(?), da ich jetzt (noch) kein Standardverzeichnis für weitere Komponenten habe? Wie handhabt man sowas am effektivsten?

nochmal Danke

mats
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.01.19 13:29 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: mats