Entwickler-Ecke
Datenbanken - eigenes TBlobField
Fienix - Do 17.02.11 15:18
Titel: eigenes TBlobField
Ich möchte gern mein eigenes TBlobField erzeugen, klappt auch soweit wunderbar.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| type TMyWideMemoField = class(TBlobField) private protected public procedure SetAsString(const Value: string); override; function GetAsString: string; override; end; |
Allerdings gibt es eine Fehlermeldung das er die Komponenten
TMyWideMemoField in den Formularen nicht finden kann wenn ich dies öffne.
Klasse TMyWideMemoField nicht gefunden. ...
Compilieren geht ohne Probleme und es läuft auch.
Tranx - Do 17.02.11 18:01
Du erledigst dies am Besten, indem Du bei Delphi "Neu..." wählst, und dort "Komponente" auswählst. Dann gibst Du den Vorfahrtyp ein, hier TBlobField und Deinen Typnamen und den Namen der Unit. Dann wird eine Prozedur RegisterComponent erzeugt. Anschließend schreibst Du in die Komponente Deine Prozeduren, wie gehabt und speicherst Die Unit ab. Dann Rufst Dur "Komponente installieren" auf und installierst die Komponente. Dann hast Du Deine Komponente abrufbereit in einem der Reiter, meist "Beispiele", aber Du kannst auch einen anderen Reiter wählen. Dann sollte das Ganze klappen.
Fienix - Fr 18.02.11 08:44
Hi,
an diesen Weg hab ich noch garnicht gedacht.
Funktioniert aber leider nicht, ich kann das TBlobField nicht als Vorfahre auswählen. :(
Steve1024 - Fr 18.02.11 08:50
schau mal ob im initialization coderl der unit ein RegisterClass hilft.
Möglicherweise löst das dein Problem.
jasocul - Fr 18.02.11 08:58
Kann es sein, dass du die Unit, in der TBlobField definiert ist, nicht mit Uses eingebunden hast?
Allerdings bin ich jetzt auch ein wenig verwirrt, weil du im Start-Posting geschrieben hast, dass die Fehlermeldung Klasse TMyWideMemoField nicht gefunden erscheint.
Sind alle Suchpfade richtig eingestellt?
Steve1024 - Fr 18.02.11 09:02
Suchpfade können es weniger sein da sonst das kompilieren nicht klappen würde.
Ich habe mal ein Programm geschrieben das dfm Dateien zur Laufzeit lädt. Dabei habe ich eine solche Meldung erhalten. Allesdings für TButton etc. Lösen konnte ich das mit RegisterClass im Initialization Code von der Unit. da hab ich alle möglichen Komponenten einer dfm Datei registriert und schon ging das alles.
jasocul - Fr 18.02.11 09:10
Steve1024 hat folgendes geschrieben : |
| Suchpfade können es weniger sein da sonst das kompilieren nicht klappen würde |
Wo steht denn, dass es compiliert werden kann?
Ich hatte dieses Phänomen in einem alten Projekt schonmal. Die genutzten Komponenten waren zum Teil neu benannt worden oder lagen in anderen Verzeichnissen. Dabei kam exakt diese Fehlermeldung.
Fienix - Fr 18.02.11 09:12
und schon gehts! :rofl:
Delphi-Quelltext
1: 2: 3:
| initialization
RegisterClass(TMyWideMemoField); |
hat es gebracht!
Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!