Registriert seit: 22. Feb 2017
955 Beiträge
|
AW: Funktionsaufruf innerhalb With..do => access violation
6. Mär 2017, 12:08
Der Erfolg gibt die Recht. So funktioniert es.
Kannst du mir auch erklären warum?
Delphi-Quellcode:
procedure Tfrm_Adressbuch.btn_aendernClick(Sender: TObject);
var
LKZ, ONKZ, RN: string;
idxLKZ, idxONKZ: Integer;
faxnummer: string;
Adresse: Tfrm_Adresse;
begin
if lv_adressen.Selected=nil then Exit;
Adresse:=Tfrm_Adresse.Create(self);
try
Adresse.edt_name.Text:=Adressbuch[lv_adressen.Selected.Index].Name;
Adresse.edt_vorname.Text:=Adressbuch[lv_adressen.Selected.Index].Vorname;
Adresse.edt_firma.Text:=Adressbuch[lv_adressen.Selected.Index].Firma;
faxnummer:=Adressbuch[lv_adressen.Selected.Index].Faxnummer;
faxnummer:=ValidateNumber(faxnummer, CountryList, ONKZList, Settings.OwnCountryPrefix, Settings.OwnCityPrefix, LKZ, ONKZ, RN, idxLKZ, idxONKZ);
Adresse.edt_faxnummer.Text:=faxnummer;
if idxLKZ>-1 then Adresse.lbl_LKZ.Caption:=CountryList[idxLKZ].CountryDE;
if idxONKZ>-1 then Adresse.lbl_ONKZ.Caption:=ONKZList[idxONKZ].Ort;
CountryList:=Self.CountryList;
ONKZList:=Self.ONKZList;
Settings:=Self.Settings;
if Adresse.ShowModal=mrOK then
begin
Adressbuch[lv_adressen.Selected.Index].Name:=Adresse.edt_name.Text;
Adressbuch[lv_adressen.Selected.Index].Vorname:=Adresse.edt_vorname.Text;
Adressbuch[lv_adressen.Selected.Index].Firma:=Adresse.edt_firma.Text;
Adressbuch[lv_adressen.Selected.Index].Faxnummer:=Adresse.edt_faxnummer.Text;
Adressbuch.SortByName;
Adressbuch.SaveToFile(AdressenFilename);
BuildLV;
end;
finally
Adresse.Free;
end;
end;
|
|
Zitat
|