Arkadaşlar freereporttaki image nesnelerine veri gönderiyorum ancak sorun çıkıyor...
Aşağıdaki kod yine bir döngünün içinde ancak işin garip yani bu döngü bir kere çalıştığında sorun çıkmıyor ama ikinci çalışmasında 'Access violation at address...' hatası veriyor. (İkinci çalışmasından kastım k'nın 1,2,3 diye ilerlemesi. )
Ayrıca döngüden çıkıp tekrar girdiğindede sorun vermiyor yani döngü içerisinde birinciden sonra hata alıyorum. Yardımcı olabilirmisiniz?
for k:=0 to (Sayi-1) do
begin
HangiNesne:='Picture'+inttostr(DegerTut);
(Raporla.FindObject(HangiNesne) as TfrPictureview).Picture.Assign(Image2.Picture);
DegerTut:=DegerTut+1;
end;
DegerTut'un ilk değeri 1 döngüye ilk girişinde Picture1 e erişmeye çalışıyorum erişip resmin diskteki yerini gönderiyorum ancak döngünün 2nci turunda Picture2 olmasına rağmen tam
TfrPictureview tipindeki nesne sayınız nedir ? bir tane olup da raporlama sırasında ürüyorlar gibi düşünüyorsanız yanılıyorsunuz. Hep aynı nesneye atama yapın. Bir öncekinin hükmü ilgili band yazdırılma işleminde sona erer.
for k:=0 to (Sayi-1) do
begin
HangiNesne:='Picture'+inttostr(DegerTut);
(Raporla.FindObject(HangiNesne) as TfrPictureview).Picture.Assign(Image2.Picture);
DegerTut:=DegerTut+1;
end;
for k:=0 to (Sayi-1) do
begin
HangiNesne:='Picture'+inttostr(DegerTut);
if Assigned(Raporla.FindObject(HangiNesne)) Then
Begin
(Raporla.FindObject(HangiNesne) as TfrPictureview).Picture.Assign(Image2.Picture);
DegerTut:=DegerTut+1;
end;
end;
2- Sayın mrmarman'ın dediği gibi verdiğiniz kod bloğunda bazı kontrolsüz değişkenler görülüyor. Bu değişkenlerin mutlaka bir başlangıç değeri verilmelidir (Özelliklle Sayi ve DegerTut değişkenleri).