AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign FreePascal OnChange o.ä. für Speicheraufforderung
Thema durchsuchen
Ansicht
Themen-Optionen

OnChange o.ä. für Speicheraufforderung

Ein Thema von philharmony · begonnen am 17. Dez 2012 · letzter Beitrag vom 20. Dez 2012
 
philharmony

Registriert seit: 17. Dez 2012
37 Beiträge
 
#1

OnChange o.ä. für Speicheraufforderung

  Alt 17. Dez 2012, 15:41
Hallo zusammen
Ich habe eine immer umfangreicheres Projekt und ich möchte eine Funktion realiseren, wie man sie von Word o.ä. kennt: Sobald der Benutzer etwas an den verwendeten Daten ändert, soll u.ä. in der Caption ein Sternchen an den Namen angehängt werden und vor dem Beenden eine Speicheraufforderung kommen. Ohne etwas geändert zu haben, soll das natürlich nicht passieren.
Die Daten selbst liegen in einer Eigenen Klasse mit einigen Read und Write Methoden. Jetzt dachte ich zum Beispiel an ein onChange - Ereignis, das triggert, wenn Daten verändert werden:

Delphi-Quellcode:
//Die Deklarationen
type
  TValueChange = procedure of object;

  TCompany = Class
  Private
    ...
  Public
    OnChange : TValueChange;
    ...
    procedure Edit(CName : String; CNFltPa : Integer);
    ...
  end;

//Eine der Prozeduren, die das OnChange auslösen sollen
procedure TCompany.Edit(CName : String; CNFltPa : integer);
begin
  FName := CName;
  FNFltPa := CNFltPa;
  if Assigned(OnChange) then OnChange;
end;

//Und in der Main die Zuweisung
procedure TForm1.CreateCompany(CName : String; CNFltPa : integer);
begin
  Company := TCompany.Create(cName, cNfltPa);
  Company.OnChange := @Unsaved;
end;

procedure TForm1.Unsaved;
begin
  DataChanged := true;
  UpdateForm;
end;
Leider wird aber nichts getriggert, wenn ich die Company.Edit ausführe. Dhaer die Frage: Ist das überhaupt der richtige Weg, wo liegt der Fehler, geht das auch anders?
Es gibt relativ viele Möglichkeiten, etwas an den Daten zu ändern, daher möchte ich "Form1.Unsaved" nicht an jeder dieser Stellen in der Main aufrufen.
Da dies mein erstes großes Projekt mit Pascal/Delphi ist, ist mein Repertoir noch nicht besonders groß, daher bin ich um jeden Tip dankbar.
  Mit Zitat antworten Zitat
 


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 19:08 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