![]() |
Eigene Kompo sträubt sich
Hallo,
hab ne Kompo gebaut. Sieht so aus:
Delphi-Quellcode:
Eigentlcih nix großartiges. In n Package gepackt und installiert.
unit StringStorage;
interface uses Classes; type TStringStorage = class(TComponent) private FStrings: TStrings; procedure SetStrings(const Value: TStrings); public constructor Create(AOwner: TComponent); override; published property AllStrings: TStrings read FStrings write SetStrings; end; procedure Register; implementation procedure Register; begin RegisterComponents('BMS Translation',[TStringStorage]); end; { TStringStorage } constructor TStringStorage.Create(AOwner: TComponent); begin inherited; FStrings := TStringList.Create; end; procedure TStringStorage.SetStrings(const Value: TStrings); begin FStrings.Assign(Value); end; end. aber folgendes passiert: - kompo auf form ziehen - im OI auf AllStrings doppelklicken -> Strings-Editopr - irgendwas eingeben -> schließen - editor wieder öffnen: Leer! - wieder eingeben, udn schließen - editor wieder öffnen: Ungültige zeigeroperation, AV, sonstiges. warum?! |
Re: Eigene Kompo sträubt sich
Habs eben nachgestellt und es klappt problemlos.
Der Destructor fehlt übrigens ;) aber eigentlich solltes daran nicht scheitern... :gruebel: |
Re: Eigene Kompo sträubt sich
:gruebel:
Ich werds nochmal mit nem ganz neuen Projekt versuche, sprich die bpl entfernen und den Code kopieren. Mal sehen, vielleicht klappts dann. EDIT: Jop, tuts. :gruebel: |
Re: Eigene Kompo sträubt sich
du solltest noch darauf eingehen das auf AllString nil zugewiesen wird. Und wie bereits erwähnt unbedingt den destructor überschreiben und den reservierten speicher darin auch wieder frei geben.
|
Re: Eigene Kompo sträubt sich
Jop.
|
Re: Eigene Kompo sträubt sich
Ein Problem hab ich jetzt noch.
In der DFM wird die strings-property (umbenannt in Strings) als "Strings.Strings" gespeichert:
Delphi-Quellcode:
Und die Frage ist wie üblich: Warum?
object StringStorage1: TStringStorage
Strings.Strings = ( 'abcdef' 'def') Left = 296 Top = 112 end EDIT: Ich sehe gerade. beim memo ist das auch so(da heißts Lines.Strings). okay, dann muss ich da selbst was machen. |
Re: Eigene Kompo sträubt sich
Weil Strings eine Eigenschaft von TStrings ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz