access violation at address ??? in module ...... hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kazimates
Üye
Mesajlar: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

access violation at address ??? in module ...... hatası

Mesaj gönderen kazimates »

programımı d5 de yaptım ve daha sonra d6 ya gectım bu arada dağınıklıkları yok etmek için programa data module ekledim ama programı run ettiğim zaman 4 sefer farklı adresler olmak uzere
access violation at adress xxxxxxx in module 'Project1.exe'. Read of address xxxxxxx.
diye xxx alanlarda adress yazıyor ve bu hata mesajı 4 sefer karsıma cıkıyor ok dedikten sonra program atasız calısıyor gozukuyor bu hata nereden geliyor olabilir ve çözümünü nasıl bulabiliriz?
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Artık var olmayan bir nesneye ulaşmaya çalışıyor program. Bi break point koyup denersen bulursun hangi nesne olduğunu.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
programı satır satır çalıştırıp hatayı verdiği satırları kontrol et.
muhtemelen create edilmemiş bir nesneye ulaşmaya çalışıyorsundur.
benim tahminim datamodulu create etmeden tablolardan birini açmaya çalışıyorsun.
eğer sorun bu ise
project---options dan forms sekmesinde autocreateforms alanında datamodulun yerini üst satırlara getirmen sorunun çözecektir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
i_zec
Üye
Mesajlar: 119
Kayıt: 01 Tem 2005 03:07

Mesaj gönderen i_zec »

..
..
..

type
kanal=class(tthread)
public
procedure execute;override;

..
..
..
..
..



procedure kanal.execute;
begin



..
..
..
..
end;


procedure TForm1.button1click(sender:tobject);
begin
kanal.Create(false);

..
..
..

end;
..
..
..
..





kanal.create ın içinde bir dongum var .bu da programın kıtlenmesıne neden oluyo .aslında ilk başta kanal açmadan application.processmessage kullandım ama bu derdıme derman olmadı... o yuzden boyle bi yol izledim.

sorunum şu:
program çalıştığından guzel guzel çalışıyo.Çalışmasında hiç bir problem yok ancak program ı kapatırken (yani formlar kayboluyo ve hata mesajı cıkıyo )access violation hatası veriyo... nedenı ne anlayamadım .... ?
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

programı delphi içinden çalıştırın ve hata verildiği anda,
Views > Debug Windows > Call Stack penceresini açın, orada en üstte görünen metod en son çalışan ve muhtemelen de sorunun olduğu metoddur.
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen PROGRAMADOR »

Formu create etmeden önce datamodule'ü create etmelisiniz. Datamodule üzerindeki komponentlere datamodule create olmadan önce form üzerinden ulaşmaya çalıştığınızdan bu sorunu yaşıyorsunuz.

Konu eski ama görünce yazmak istedim :)
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Kullanıcı avatarı
enes6635
Üye
Mesajlar: 21
Kayıt: 09 Eki 2018 11:09
İletişim:

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen enes6635 »

(win10)(Delphi 10.2)
Httprio ile soap sorgusu yaparken sorunla karşılaştım
şöyle bir hata alıyorum bunun çözümü nedir acaba bilen var mı?
Dosya ekleri
read of wrong.png
read of wrong.png (1.84 KiB) 3785 kere görüntülendi
Haksız bir davada zirve olmaktansa, haklı bir davada zerre olmayı tercih ederim.
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen greenegitim »

enes6635 yazdı: 22 Eki 2018 12:58 (win10)(Delphi 10.2)
Httprio ile soap sorgusu yaparken sorunla karşılaştım
şöyle bir hata alıyorum bunun çözümü nedir acaba bilen var mı?
resim görünmüyor ama tahminen create edilmemiş yada free edilmiş bir nesneye ulaşmaya çalışıyorsunuz örnek kod paylaşırsanız daha verimli olur.
Mücadele güzelleştirir!
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen ertank »

enes6635 yazdı: 22 Eki 2018 12:58 (win10)(Delphi 10.2)
Httprio ile soap sorgusu yaparken sorunla karşılaştım
şöyle bir hata alıyorum bunun çözümü nedir acaba bilen var mı?
Merhaba, var ise içinden kullanıcı adı ve şifre bilgilerini gizleyerek örnek kod paylaşabilir misiniz?
Kullanıcı avatarı
enes6635
Üye
Mesajlar: 21
Kayıt: 09 Eki 2018 11:09
İletişim:

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen enes6635 »

Kodlar şu şekilde

Kod: Tümünü seç

procedure TForm2.Button1Click(Sender: TObject);
var
WS : AWSECommerceServicePortType;
//service : CollectionSummary;
RIO:THTTPRIO;
Request:ItemSearch;
Response:ItemSearchResponse;
i:integer;
j:integer;
begin
RIO:=THTTPRIO.Create(nil);
RIO.URL:='https://webservice.amazon.com/onca/soap?Service=AWSECommerceService';
WS:= (RIO as AWSECommerceServicePortType);
Request:=nil;
Response:=nil;
try
  Request:=ItemSearch.Create();
  Request.MarketplaceDomain:='0,M';
  Request.AWSAccessKeyId:='kullanıcikey';
 Request.AssociateTag:='' ;
 //Request.Shared := ItemSearchRequest.Create();
  Request.Shared.Artist := 'Cem Karaca';
try
      WS.ItemSearch(Request);  // ItemSearch
    except
      on E: Exception do
      begin
        Memo1.Lines.Add('Hata: ' + E.Message);
        Memo1.Lines.Add(EmptyStr);
      end;
    end;
      Memo1.Lines.Add('req');
    // Gelen
    for I := Low(Response.Items) to High(Response.Items) do
    begin
      Memo1.Lines.Add('Qid: ' + Response.Items[I].Qid);
      Memo1.Lines.Add('Toplam sonuç: ' + Response.Items[I].TotalResults.ToString());
      Memo1.Lines.Add('Toplam "item": ' + Length(Response.Items[I].Item).ToString());
      for J := Low(Response.Items[I].Item) to High(Response.Items[I].Item) do
      begin
        Memo1.Lines.Add('ASIN: ' + Response.Items[I].Item[I].ASIN + ', ParentASIN: ' + Response.Items[I].Item[I].ParentASIN + ', ' + Response.Items[I].Item[I].SalesRank);
      end;
    end;
    Memo1.Lines.Add(EmptyStr);
finally
    Request.Free();
    Response.Free();
    Screen.Cursor := crDefault;
  end;
end;
Haksız bir davada zirve olmaktansa, haklı bir davada zerre olmayı tercih ederim.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen ertank »

Merhaba, Aşağıdaki satır hatalı

Kod: Tümünü seç

 WS.ItemSearch(Request);  // ItemSearch
doğrusu

Kod: Tümünü seç

Response := WS.ItemSearch(Request);  // ItemSearch
Kullanıcı avatarı
enes6635
Üye
Mesajlar: 21
Kayıt: 09 Eki 2018 11:09
İletişim:

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen enes6635 »

hala aynı hatayı alıyorum :(
Haksız bir davada zirve olmaktansa, haklı bir davada zerre olmayı tercih ederim.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: access violation at address ??? in module ...... hatası

Mesaj gönderen ertank »

Aşağıdaki satırında başındaki // işaretleri kaldırılması gerekli

Kod: Tümünü seç

 //Request.Shared := ItemSearchRequest.Create();
Cevapla