Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Access Violation
#1
merhaba iyi gunler assagideki kod satirinda ** ile baslayan kodu ekleyince yani ini.dosyasindan veri cekince access violation hatasi aliyorum sorun nedir?
procedure TForm1.FormShow(Sender: TObject);
var
iniServer,iniAd:string;
ini1 : TINIFile;
i:integer;
begin
 ini1 := TINIFile.Create(TPath.Combine(TPath.GetDocumentsPath ,'SETTINGS.INI'));
 iniServer:= ini1.readString('DOKTOR','SERVER', '');
 iniAd:=ini1.ReadString('DOKTOR','SERVER','');
 initc:=ini1.readString('DOKTOR','TC','');
 ini1.Free;

  if (iniServer='')or(iniAd='')or (initc='') then
  begin
    ShowMessage('Sunucu Ayarları Eksik Lütfen Doldurun');
    ayarlartab_slide.ExecuteTarget(self);
    exit;
  end;

  SetLength(con_S,2);
  SetLength(Qry_S,2);
  for I := 0 to Length(con_S)-1 do
  Begin
       ini1 := TINIFile.Create(TPath.Combine(TPath.GetDocumentsPath ,'SETTINGS.INI'));
   /
******     con_S[i].Server:=ini1.readString('DOKTOR'+i.ToString,'SERVER', '');
  
  End; 
JV702B.png
Muharrem ARSLAN
WWW
Cevapla
#2
Merhaba,
con_S dizisini nerede ve ne tipte tanımladınız? Kullanmadan önce bu dizi boyutunu set ettiniz mi?
DelphiCan'dır!
Cevapla
#3
 private
  con_S: array of  TUniConnection;
 Qry_S: array of TUniQuery;
   { Private declarations }
 public
   { Public declarations }


tanimladigim yer burasi ve kullanmadan once set ettim android ve win64 te calistirinca hata yok ama win32de hata veriyor.
Muharrem ARSLAN
WWW
Cevapla
#4
con_S[i].Server içindeki server nesnelerinden biri ya da birkaçı nil  sanırım.
WWW
Cevapla
#5
hayir hepsi dolu
Muharrem ARSLAN
WWW
Cevapla
#6
con_S[i] := TUniConnection.Create; şeklinde dizinin her bir elemani için bi tane uniConnection oluşturdunuz mu?

her bir eleman için uniConnection varsa hata vermemesi lazım.
WWW
Cevapla
#7
(12-06-2019, Saat: 14:42)arsl01 Adlı Kullanıcıdan Alıntı:
 private
  con_S: array of  TUniConnection;
 Qry_S: array of TUniQuery;
   { Private declarations }
 public
   { Public declarations }


tanimladigim yer burasi ve kullanmadan once set ettim android ve win64 te calistirinca hata yok ama win32de hata veriyor.

Bu tanımlamaya göre, con_S ve Qry_S dizisini kullanmadan önce SetLength metodu ile boyutunu belirlemeniz gerekiyor.
DelphiCan'dır!
Cevapla
#8
@Fesih ARSLAN hocam attigim kod blogunda zatem belirledim
Muharrem ARSLAN
WWW
Cevapla
#9
(12-06-2019, Saat: 14:57)arsl01 Adlı Kullanıcıdan Alıntı: @Fesih ARSLAN  hocam attigim kod blogunda zatem belirledim

Pardon, o satır gözümden kaçmış. 
Hata veren satıra bir kesme işareti (Break Point) yerleştirin ve debug durumunda iken con_S[i] değişkeninin ilgili dizisinin nil olup olmadığına bakın. 
Nil ise @sadettinpolat beyin belirttiği tanımlamayı yapın.
DelphiCan'dır!
Cevapla
#10
aynen hocam bende ona bakiyordum bir tane nil varmis onu duzelttim duzeldi tesekkurler
Muharrem ARSLAN
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  access violation at address dsnap280.bpl hatası Jakarta2 0 1.274 16-12-2022, Saat: 00:14
Son Yorum: Jakarta2
  Rio External Storage Access Denied mcuyan 13 9.819 11-12-2018, Saat: 13:29
Son Yorum: mcuyan
  Program kapanırken access violation veriyor TDeveloper 7 5.763 12-08-2018, Saat: 14:58
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi