AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Stringlists (.free)

Ein Thema von florpp · begonnen am 1. Feb 2008 · letzter Beitrag vom 1. Feb 2008
Antwort Antwort
Seite 3 von 4     123 4      
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:03
In Destruktoren werden ja auch andere Dinge gemacht als die eigentliche Zerstörung (die erfolgt in FreeInstance).
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#22

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:09
Deine Fragen wurden schon beantwortet...

Zitat von Kroko1999:
Erstellen im FormCreate-Ereignis und zerstören im FormDestroy-Ereignis ist imho die beste Lösung!
Zitat von Kroko1999:
dann sollte er die globalen in lokale Klassen-Variablen umwandeln!
Also so...
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    Fsc : TStringlist;
    Ftx : TStringlist;
    Fms : TStringlist;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  // hier werden niemals eigene Variablen deklariert.

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Fsc := TStringlist.Create;
  Ftx := TStringlist.Create;
  Fms := TStringlist.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Fsc.free;
  Ftx.Free;
  Fms.Free;
end;

end.
Gruss
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:11
@omata: ja, aber dann bitte mit einem F vor privaten Variablen!
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#24

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:13
Ups, du hast natürlich recht. Habs nur kopiert, sorry
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#25

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:15
Zitat von Kroko1999:
@omata: ja, aber dann bitte mit einem F vor privaten Variablen!
auch wenns offtopic ist, aber warum?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#26

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:16
Damit Du gleich erkennen kannst, dass Du auf ein privates Feld zugreifst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:17
Das ist keine Pflicht, aber praktisch alle Styleguides empfehlen, die Namen von Feldern mit f beginnen zu lassen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#28

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:18
Zitat von DeddyH:
Damit Du gleich erkennen kannst, dass Du auf ein privates Feld zugreifst.
ja und es nennt sich Style-Guide(o.s.ä.)
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#29

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:28
Danke für die Erklärung!

aber mein Styleguides sagt das nicht - ist nämlich von mir
Ich komm so, wie ich es bisher mach ganz zurecht
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#30

Re: Problem mit Stringlists (.free)

  Alt 1. Feb 2008, 14:37
Ich hole mal ein bisschen aus: wenn Du Felder einer Klasse nach außen hin bekannt machen willst, gewährst Du keinen direkten Zugriff auf sie, sondern definierst Schnittstellen (Getter- und Settermethoden). Die Variable wird dann auch nicht als Variable angesprochen, sondern als Eigenschaft (property). Mal ein Beispiel (Feld soll nur einen Wert zwischen 1 und 1000 annehmen können):
Delphi-Quellcode:
type
  TMyClass = class
  ...
  private
    FFeld: integer;
    procedure SetFeld(value: integer); //Setter
    function GetFeld: integer; //Getter
    ...
  public
    property Feld: integer read GetFeld write SetFeld;
    ...
end;

procedure TMyClass.SetFeld(value: integer);
begin
  if (value in [1..1000]) then
    FFeld := value;
end;

function TMyClass.GetFeld: integer;
begin
  Result := FFeld;
end;
So funktioniert OOP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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