AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein FreePascal [gelöst] Lazarus: SaveToFile geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

[gelöst] Lazarus: SaveToFile geht nicht

Ein Thema von Kralle · begonnen am 17. Feb 2015 · letzter Beitrag vom 17. Feb 2015
Antwort Antwort
Seite 3 von 3     123   
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#21

AW: [gelöst] Lazarus: SaveToFile geht nicht

  Alt 17. Feb 2015, 15:42
Moin,
Und wieso ist das global?
Weil ich mein StringListe nicht in einer Procedure/Funktion definiere sondern halt global.
Das kracht dann früher oder später schon wieder.

Leg die Defintion von sl in die Typdeklaration der Form.
Delphi-Quellcode:
  TForm1 = class(TForm)
  private
    { private declarations }
   sl: TStringList;
  public
    { public declarations }
  end;
Dann ist sie in der gesamten Form sichtbar, aber vor unbeabsichtigten Änderungen von ausserhalb geschützt.

Stell Dir einfach einmal vor, was geschiet, wenn Du diese Form zweimal erstellst, oder wenn irgend ein Komponentenentwickler auf die glorreiche Idee kommt, eine globale Variable mit dem Namen "sl" anzulegen.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#22

AW: [gelöst] Lazarus: SaveToFile geht nicht

  Alt 17. Feb 2015, 15:51
Oder wenn du auf die geniale Idee kommt und irgendwo nochmal eine globale StringListe brachst und denkst "oh, cool, da ist ja schon eine".

Alles was nicht lokal ist, muß einen sprechenden Bezeichner bekommen, der nicht das Datenformat beschreibt, sondern den "Inhalt".
Sonst könnte man alle globalen Integer auch i1 bis i3296 benennen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#23

AW: [gelöst] Lazarus: SaveToFile geht nicht

  Alt 17. Feb 2015, 15:53
Moin,


Leg die Defintion von sl in die Typdeklaration der Form.
Delphi-Quellcode:
  TForm1 = class(TForm)
  private
    { private declarations }
   sl: TStringList;
  public
    { public declarations }
  end;
Dann ist sie in der gesamten Form sichtbar, aber vor unbeabsichtigten Änderungen von ausserhalb geschützt.

Stell Dir einfach einmal vor, was geschiet, wenn Du diese Form zweimal erstellst, oder wenn irgend ein Komponentenentwickler auf die glorreiche Idee kommt, eine globale Variable mit dem Namen "sl" anzulegen.
Und wieder was gelernt. Danke, habe das gleich umgesetzt.

Gruß Heiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#24

AW: [gelöst] Lazarus: SaveToFile geht nicht

  Alt 17. Feb 2015, 15:56
Moin,

Oder wenn du auf die geniale Idee kommt und irgendwo nochmal eine globale StringListe brachst und denkst "oh, cool, da ist ja schon eine".

Alles was nicht lokal ist, muß einen sprechenden Bezeichner bekommen, der nicht das Datenformat beschreibt, sondern den "Inhalt".
Sonst könnte man alle globalen Integer auch i1 bis i3296 benennen.
Da sollte ich das Refactoring mal anschmeissen und die Variablen, Liste usw. sinnig benennen.
Danke.

Gruß Heiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 20:58 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