Arkadaşlar bir soap uyugulamasında soap ile göndermek istediğim verilerden bir tanesi array of txsdecimal. array of txsdecimal var altında tanımlıyorum. kullanmaktada sıkıntı yok. problem setlength ile array dizesinin boyutunu ayarlıyorum. Sonra for döngüsü icinde 0 dan x' e kadar bir döngü ile icine veri girişi yapıyorum. ancak döngünün sonunda atadığım değer dizedeki tüm satırları değiştiriyor. Örnek
Var
liste:Array of TxsDecimal;
decimaldeger:TxsDecimal;
i:integer;
begin
setlength(liste,4);
decimaldeger :=TxsDecimal.Create;
decimaldeger.XSToNative('ahmet'); liste[1] := decimaldeger;
decimaldeger.XSToNative('mehmet'); liste[2] := decimaldeger;
decimaldeger.XSToNative('fatma'); liste[3] := decimaldeger;
decimaldeger.XSToNative('sinan'); liste[4] := decimaldeger;
showmessage(liste[1].NativeToXS);
showmessage(liste[2].NativeToXS);
showmessage(liste[3].NativeToXS);
showmessage(liste[4].NativeToXS);
//sırasıyla 4 defa sinan , sinan, sinan, sinan mesajlarını alıyorum. son yaptığım atama önceki tüm satırlarıda etkiliyor.. çözüm bulamadım..
end;
neden son yapılan atama dizedeki tüm satırları değiştiriyor bilen varsa yardımcı olursa sevinirim.. kolay gelsin iyi çalışmalar..
Array of TxsDecimal, değer atama..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 29
- Kayıt: 09 Eyl 2017 02:53
Array of TxsDecimal, değer atama..
En son me_turan@mynet.com tarafından 11 Eyl 2017 10:55 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
-
- Üye
- Mesajlar: 29
- Kayıt: 09 Eyl 2017 02:53
Re: Array of TxsDecimal, değer atama..
bu arada daha önce TxsDecimal ile calısırken, var altında tanımlamama ragmen procedure icinde create etmezsem onu kullanamadığımı farkettim.
büyük ihtimalle array of txsdecimal icinde bu geçerlidir. ama onu nasıl create edecegimi bulamadım . neler neler denedim ama hiçbiri yemedi
büyük ihtimalle array of txsdecimal icinde bu geçerlidir. ama onu nasıl create edecegimi bulamadım . neler neler denedim ama hiçbiri yemedi

-
- Üye
- Mesajlar: 29
- Kayıt: 09 Eyl 2017 02:53
Re: Array of TxsDecimal, değer atama..
çözümü Ertank adlı arkadas verdi. memberlist.php?mode=viewprofile&u=8699
aşağıda..
aşağıda..
Kod: Tümünü seç
Mhl[I] := TXSDecimal.Create(); // TXSDecimal öncelikle create edilmelidir
Kod: Tümünü seç
uses
Soap.XSBuiltIns;
procedure TForm1.Button1Click(Sender: TObject);
const
Rakamlar: Array of string = ['1450', '1451', '1452', '1453', '1454', '1455', '1456', '1457', '1458', '1459', '1460'];
var
Mhl: Array of TXSDecimal;
I: Integer;
begin
SetLength(Mhl, 10);
for I := 0 to 9 do // Index sıfır tabanlıdır
begin
Mhl[I] := TXSDecimal.Create(); // TXSDecimal öncelikle create edilmelidir
Mhl[I].XSToNative(Rakamlar[I+1]);
ShowMessage(Mhl[I].NativeToXS);
end;
ShowMessage(Mhl[2].NativeToXS);
ShowMessage(Mhl[3].NativeToXS);
// İşimiz bitince hafızayı temizlemeliyiz
for I := Low(Mhl) to High(Mhl) do
begin
Mhl[I].Free();
end;
end;