AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

propety write geht nicht ??!!

Ein Thema von Snoop007 · begonnen am 17. Mär 2003 · letzter Beitrag vom 17. Mär 2003
Antwort Antwort
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#1

propety write geht nicht ??!!

  Alt 17. Mär 2003, 03:11
hi,
ich schreibe gerade eine komponente
wenn ein neuer string hinzugefügt wurde, muss ich die komponente neu zeichnen lassen
meine property hat folgende strucktur
Delphi-Quellcode:
    procedure schreiben(value : TStringlist);
    procedure buttonszeigen;
    function lesen :TStringlist ;
  public
    constructor create(AOwner : TComponent); override;
  published
    property Items : TStringlist read lesen write schreiben;
  end;
aber die procedure schreiben wird nicht aufgerufen, lesen geht

wieso frage ich mich bloss ??!!
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#2
  Alt 17. Mär 2003, 07:13
Hallo,
poste mal Deine Procedure 'schreiben', um zu sehen was Du machst.

p.s. Nach dem (in)-offiziellen Styleguide sollte die write Prozedur mit SetDeineProcedure und read Funktion mit GetDeineFunction benamst sein...
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.479 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3
  Alt 17. Mär 2003, 07:44
schreiben wird nur aufgerufen, wenn du Items eine Stringliste zuweist. Für das Abfangen von Änderungen musst du bei der Stringliste das OnChange Ereignis abfangen.
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 17. Mär 2003, 11:11
die procedure schreiben wird auch gar nicht ausgeführt, er spring da nicht rein

wie kann ich denn das OnChange ereignis von FItems in die Komponente hinzufügen ?
Delphi-Quellcode:
procedure TOvaleLeiste.schreiben(value : TStringlist);
begin
  FItems := value;
  refresh;
end;
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 17. Mär 2003, 11:29
habs hinbekommen das ereignis zu schreiben

bei der erstellung eine procedure von OnChange zuweisen
  FItems.OnChange := aendern; und die prodedure defenieren und anweisungen reinpacken
Delphi-Quellcode:
procedure TOvaleLeiste.aendern(Sender : TObject);
begin
  refresh;
end;
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.479 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6
  Alt 17. Mär 2003, 13:54
Zitat von Snoop007:
Delphi-Quellcode:
procedure TOvaleLeiste.schreiben(value : TStringlist);
begin
  FItems := value;
  refresh;
end;
´
Damit produzierst du nur Speicherlecks. Bei einem Objekt sollte (außer man weiß genau was man macht) das schreiben so ablaufen:
Delphi-Quellcode:
procedure TOvaleLeiste.schreiben(value : TStringlist);
begin
  FItems.Assign(value);
  refresh;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz