Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#19
  Alt 18. Jun 2002, 10:15
Zitat von MrSpock:
Das Ini.Create vor den try ... finally Block zu setzen ist eigentlich nicht gut, weil auch diese Anweisung grundsätzlich zu einem Fehler führen könnte.
So so. Und was macht dein finally-Block wenn Ini irgendwo hinzeigt? Der finally-Block soll ja nur die Resourcen freigeben, die auch reserviert wurde. Wenn TIniFile.Create fehlschlägt, dann wird auch keine Instanz erzeugt.
Selbst Borland macht es vor wie man es machen soll:
Code:
  FlippedList := TList.Create;
  try
    ...
    for Loop := 0 to ControlCount - 1 do with Controls[Loop] do
    begin
      FlippedList.Add(Controls[Loop]);
      Left := TheWidth - Width - Left;
    end;
    ...
  finally
     FlippedList.Free;
  end;
Und so nebenbei wirft der Compiler bei deiner Programmierweise mit Create in den TRY-Block nur Warnungen aus. Die Lösung mit vorherigem setzen auf nil ist auch nicht gerade der schönste Programmierstil. (ich verweise an dieser Stelle auf den Object Pascal Style Guide)


@m-werk:
hast du auch überprüft, ob der Code zum wählen, ob der Dialog nun angezeigt werden soll, auch richtig arbeitet?

Was mir da z.B. aufgefallen ist:
(StrToDate(Copy(DM.ADOSHaupt.FieldByName('Geburtsd atum').AsString,0,6)
Was soll denn die Null bei Copy(). gehöhrt da nicht vielleicht eine 1 hin?
  Mit Zitat antworten Zitat