Autor Beitrag
Fienix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
BeitragVerfasst: Do 17.02.11 15:18 
Ich möchte gern mein eigenes TBlobField erzeugen, klappt auch soweit wunderbar.

ausblenden 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: stringoverride;
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.

_________________
Wer sichert ist feige!!
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: 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.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
Fienix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
BeitragVerfasst: 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. :(

_________________
Wer sichert ist feige!!
Steve1024
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
BeitragVerfasst: Fr 18.02.11 08:50 
schau mal ob im initialization coderl der unit ein RegisterClass hilft.
Möglicherweise löst das dein Problem.

_________________
- posted with HTC HD2 -
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
BeitragVerfasst: 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.

_________________
- posted with HTC HD2 -
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 18.02.11 09:10 
user profile iconSteve1024 hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
BeitragVerfasst: Fr 18.02.11 09:12 
und schon gehts! :rofl:

ausblenden Delphi-Quelltext
1:
2:
3:
initialization

RegisterClass(TMyWideMemoField);

hat es gebracht!

Danke!

_________________
Wer sichert ist feige!!