Constructor Create'de access violation hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Constructor Create'de access violation hatası

Mesaj gönderen PROGRAMADOR »

Kod: Tümünü seç

type
  TmyDTP=class(JvDatePickerEdit.TJvDatePickerEdit)
    private
    public
    customstr:string;
    Column: Vcl.DBGrids.TColumn;
    constructor Create(AOwner: TComponent); override;
  end;

constructor TmyDTP.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  DateSeparator:='.';
  DateFormat:='dd/MM/yyyy';

end;
DateSeparator ve DateFormat TJvDatePickerEdit'in propertyleridir.

Yukarıdaki kodu yazdığımda "DateSeparator:='.';" kısmında access violation hatası alıyorum. Sebebi nedir?
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Constructor Create'de access violation hatası

Mesaj gönderen ikra »

Bileseni tanimiyorum fakat aklima gelen ilk sey persistent bir propertinin valuesinin nil yada null olusundan dolayi dateseparator propertisini barindiran alt class henüz create edilmemis olabilir. Aldiginiz hata henüz olusturulmamis bir nesneye erismek istediginizde karsiniza cikar.
Breakpoint koyup f7 tusu ile step yapiniz ve hata vermeden hemen önceki propertinin bagli oldugu classin nil olup olmadigini kontrol ediniz.
kıdemsiz üye
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Re: Constructor Create'de access violation hatası

Mesaj gönderen PROGRAMADOR »

Yanıt için teşekkürler. Ben inherited Create(AOwner); ile create edildiğini düşünmüştüm. JVCL'nin datetimepicker'inden türetme yapıyordum.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Constructor Create'de access violation hatası

Mesaj gönderen ikra »

Inherited create demis olmaniz persistent olan ve bilgi bekleyen bir classin olustugu anlamina gelmez. Dedigim islemi yaparak sonuca ulasabileceginiz kanisindayim.
Örnegin bir edit nesnesi düsünün. Editstyle isminde bir propertisi olsun. Editstyle = estext ise nil kalan ve escurrency ise bölgesel ayarlari kontrol eden bir class olustursun. Siz edit'i create ettiginizde propertinin defaultvaluesi estext olacaktir ve siz edit.locator.languege dediginizde locator classi olusturulmadigi icin access violation at xyz hatasi alacaksiniz.
kıdemsiz üye
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Re: Constructor Create'de access violation hatası

Mesaj gönderen PROGRAMADOR »

Çok güzel bir biçimde açıkladınız. Teşekkürler.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Constructor Create'de access violation hatası

Mesaj gönderen ikra »

Allah kolaylik versin kardesim.
kıdemsiz üye
Cevapla