HKS WebServis BildirimServisBildirimKaydet create sorunu

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
tisoft
Üye
Mesajlar: 2
Kayıt: 21 Mar 2014 03:19

HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen tisoft »

Merhabalar Hal kayıt sistemi web servislerinin kullanımını çözmeye çalışıyorum il ilçe cins gibi bilgileri alabiliyorum şimdilik bir yerde takıldım (Bildirim servisindeki)
Istek:=BildirimKayitIstek.Create; satırında acces violation... hatası alıyorum.
BildirimKayitIstek[] Bildirim kayıt istek detay arrayi.

Istek[0]:=BildirimKayitIstek.Create; şeklinde olursa Run time anında hata alıyorum.
Tüm arkadaşlara şimdiden teşekkür ediyorum.

https://95.0.51.130/WebServices/Bildiri ... e.svc?wsdl
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen varyemez »

setlength(bildirimkayitistek, 1) ile arrayı boyutlandır önce.
tisoft
Üye
Mesajlar: 2
Kayıt: 21 Mar 2014 03:19

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen tisoft »

Kod örneği aşağıdaki gibi yazdım. setlength ile deneme yapmıştım. Istek kısmını create yapamadığım için olmadığını düşünüyorum. Örnek uygulamayı yazıyorum.

var
SERVIS :IBildirimService;
ISTEGI :BaseRequestMessageOf_ListOf_BildirimKayitIstek;
CEVABI :BaseResponseMessageOf_ListOf_BildirimKayitCevap ;
BEGIN
try
SERVIS:= GetIBildirimService(false,'',Form1.HTTPRIO3);
ISTEGI:= BaseRequestMessageOf_ListOf_BildirimKayitIstek.Create;

with ISTEGI do
begin
UserName:= user;
Password:= pass;
ServicePassword:=srvpass;

//Aşşağıdaki 4 satır tektek denendiğinde sağ tarftaki hataları üretiyor
setlength(bildirimkayitistek, 1); //hata:incompatible types
setlength(Istek, 1) //hata:Constant object cannot be passed as var parameter
Istek:=BildirimKayitIstek.Create; //hata:Missing perator or semicolon
Istek[0]:=BildirimKayitIstek.Create; //hata:Missing perator or semicolon


WITH Istek[0] DO
BEGIN//parametreler--------------------------------
UniqueId:= 99;
......


aslında Istek : ArrayOfBildirimKayitIstek olarak tanımlı.
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen varyemez »

Yaptıklarını zipleyp mail atarsan bakayım...
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen unicorn64 »

ArrayOfBildirimKayitIstek tipinde bir değişken tanımlayıp, bu değişkenin property lerine değer atması yapın, en son ISTEGI.Istek property sine de bu değişkeni verin

Kod: Tümünü seç

var
...
...
istk: ArrayOfBildirimKayitIstek;

begin

...
...
  
setlength(istk,1);
istk[0]:=BildirimKayitIstek.Create;
istk[0].UniqueId:= 99;
.....
ISTEGI.Istek:=istk;


bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
zagerx
Üye
Mesajlar: 20
Kayıt: 18 Ara 2010 02:42

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen zagerx »

merhaba eger çözemedi iseniz örnek verebilirim ben çok uğraştım ama oldu
epikbalad
Üye
Mesajlar: 51
Kayıt: 01 Nis 2014 04:32

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen epikbalad »

Merhaba

Hal Bildirim Kayıt konusunda örneği paylaşabilirmisiniz.

Şimdiden Teşekkürler.
ideal
Üye
Mesajlar: 3
Kayıt: 30 Ara 2014 12:46

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen ideal »

Sayın zagerx kayıt işlemi ile ilgi hata alıyoruz. Eğer örnek kod paylaşırsanız sevinirim.
Herhangi bir buton içerisine aşağıdaki kodu yazdık ancak bildirimcevap := servis.BildirimServisBildirimKaydet(bildirim); // burada hata alıyoruz
Yardımcı olabilecek varsa sevinirim. İyi çalışmalar ...

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
 servis :IBildirimService;
 bildirim :BaseRequestMessageOf_ListOf_BildirimKayitIstek;
 bildirimcevap :BaseResponseMessageOf_ListOf_BildirimKayitCevap ;

  istk: ArrayOfBildirimKayitIstek;
  sonc : ArrayOfBildirimKayitCevap;
begin


  try
    screen.Cursor := crHourGlass;

    servis:= GetIBildirimService(false,'',nil);

    bildirim:= BaseRequestMessageOf_ListOf_BildirimKayitIstek.Create;
    bildirim.UserName:=hks_username;
    bildirim.Password:=hks_password;
    bildirim.ServicePassword:=hks_service_code;

    setlength(istk,1);
    istk[0]:=BildirimKayitIstek.Create;

    bildirim.Istek := istk;

    bildirim.Istek[0].UniqueId:= '999';  
    bildirim.Istek[0].ReferansBildirimKunyeNo := xx;
    bildirim.Istek[0].BildirimTuru := 196;

    bildirim.Istek[0].BildirimciBilgileri := BildirimciBilgileriDTO.Create();
    bildirim.Istek[0].BildirimciBilgileri.KisiSifat := 7;

    bildirim.Istek[0].IkinciKisiBilgileri := IkinciKisiBilgileriDTO.Create;
    bildirim.Istek[0].IkinciKisiBilgileri.KisiSifat := 7;
    bildirim.Istek[0].IkinciKisiBilgileri.TcKimlikVergiNo := 'xx';
    bildirim.Istek[0].IkinciKisiBilgileri.YurtDisiMi := false;

    bildirim.Istek[0].BildirimMalBilgileri := BildirimMalBilgileriDTO.Create;
    bildirim.Istek[0].BildirimMalBilgileri.MalinKodNo := 206;
    bildirim.Istek[0].BildirimMalBilgileri.MiktarBirimId := 28;
    bildirim.Istek[0].BildirimMalBilgileri.MiktarBirimId := 73;
    bildirim.Istek[0].BildirimMalBilgileri.MalinMiktari := 1;
    bildirim.Istek[0].BildirimMalBilgileri.AnalizeGonderilecekMi := false;

    bildirim.Istek[0].MalinGidecekYerBilgileri := MalinGidecekYerBilgileriDTO.Create;
    bildirim.Istek[0].MalinGidecekYerBilgileri.GidecekYerIsletmeTuruId:=19;
    bildirim.Istek[0].MalinGidecekYerBilgileri.GidecekIsyeriId:=37748;
    bildirim.Istek[0].MalinGidecekYerBilgileri.AracPlakaNo:='xx' ;
    bildirim.Istek[0].MalinGidecekYerBilgileri.BelgeNo:='003';
    bildirim.Istek[0].MalinGidecekYerBilgileri.BelgeTipi:=207;

    bildirimcevap := servis.BildirimServisBildirimKaydet(bildirim); // burada hata alıyoruz
    try
     showmessage(bildirimcevap.IslemKodu);
     except

       showmessage(bildirimcevap.IslemKodu);
    end;

   finally
    Screen.Cursor := crDefault;
  end;
end;
ideal
Üye
Mesajlar: 3
Kayıt: 30 Ara 2014 12:46

Re: HKS WebServis BildirimServisBildirimKaydet create sorunu

Mesaj gönderen ideal »

İyi çalışmalar.

Kayıt servisini sorunsuz çalıştırabilen varsa örnek paylaşabilir mi acaba?
Cevapla