AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Speicher Freigeben

Ein Thema von stiftII · begonnen am 29. Sep 2011 · letzter Beitrag vom 1. Okt 2011
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von DeddyH
DeddyH

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

AW: Speicher Freigeben

  Alt 30. Sep 2011, 17:33
Das stimmt zwar, aber ich halte die gezeigte Vorgehensweise sowieso zumindest für problematisch. Schaut man sich dosomething alleine an, dann ist man doch erst einmal verwirrt.
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
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#22

AW: Speicher Freigeben

  Alt 30. Sep 2011, 18:14
Das würde ich unter tricky noch akzeptieren, ich käme hier ins Grübeln:
Delphi-Quellcode:
function ExtraColumsStringsDB(firma:string; ASL: TStringlist): Boolean;
......
    ASL := TStringList.Create;
das mag zwar gehen, aber wenn man mal die Übersicht verliert...

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Speicher Freigeben

  Alt 30. Sep 2011, 18:25
Naja, eine lokale Instanzvariable, die nirgends erzeugt, aber dann freigegeben wird... Da würde ich zunächst mit einer AV rechnen.
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
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#24

AW: Speicher Freigeben

  Alt 30. Sep 2011, 18:48
na ja, übersichtlich ist anders. Wenn man konsequent den Spiecher auch da wieder frei gibt, wo er reserviert wird, dann läuft man auch nicht in Gefahr den Überblick zu verlieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Speicher Freigeben

  Alt 30. Sep 2011, 19:01
Japp. Aus dem Bauch heraus würde ich es ungefähr so machen:
Delphi-Quellcode:
function ExtraColumsStringsDB(const firma: string; ASL: TStrings): Boolean;
var
  Temp: Array Of TColumn;
  i: integer;
begin
  Result := False;
  Assert(Assigned(ASL));
  try
    ASL.Clear;
    //das sieht mir komisch aus, ist das auch so ein Kandidat?
    Temp := GetExtraFields(firma);
    for i:=0 to high(Temp) do
    begin
      ASL.Add(Temp[i].FieldName );
    end;
    Result := True;
  except
    on E: Execption do
      //irgendwie reagieren
  end;
end;

procedure dosomething;
var
  SL: TStringList;
begin
  SL := TStringlist.Create;
  try
    ExtraColumsStringsDB('EINEFIRMA', SL);
    //noch irgendetwas mit SL anstellen
  finally
    SL.Free;
  end;
end;
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
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#26

AW: Speicher Freigeben

  Alt 30. Sep 2011, 20:03
Gibt es irgend einen Grund für das try..except in ExtraColumsStringsDB? Wenn mand ie Exception nicht behandeln kann, dann sollte die auch nicht behandelt werden und erst in einer höheren Schicht taucht dann das try..except auf. Dann kann man sich auch den überflüssigen Boolean-Rückgabewert sparen.

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Speicher Freigeben

  Alt 30. Sep 2011, 20:13
Zitat:
//das sieht mir komisch aus, ist das auch so ein Kandidat?
Da sich hier Delphi um die Initialisierung und Feigabe des Arrays kümmert, ist das nicht wirklich problematisch.

Interfaces, dynamische Arrays und Strings kann man daher ganz gut als Result verwenden.


Einfache Typen, Records, statische Arrays und natürlich eine Kombination aus all Diesen sind natürlich auch möglich.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list

Geändert von himitsu (30. Sep 2011 um 20:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Speicher Freigeben

  Alt 1. Okt 2011, 11:34
Da die Elemente aber anscheinend eine Eigenschaft Fieldname haben, wird es sich wohl um Records oder Objekte handeln. Und Objekte werden in dem Code ja nicht freigegeben, daher meine Frage.
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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Speicher Freigeben

  Alt 1. Okt 2011, 14:40
Von Objekten hab ich auch nichts gesagt

Records in Arrays wären aber OK
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
  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 08:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf