Delphi Can

Orjinalini görmek için tıklayınız: Runtime Oluşturulan Nesnelerin animasyonu
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
(26-01-2024, Saat: 09:45)ssmr Adlı Kullanıcıdan Alıntı: [ -> ]
(26-01-2024, Saat: 09:26)RAD Coder Adlı Kullanıcıdan Alıntı: [ -> ]Muhtemelen kullandığınız Delphi sürümü Inline Variable ı desteklemiyor (Delphi 10.3 Rio ve daha üst sürümlerinde bu özellik var).
Çözüm olarak; var kısmını begin üstündeki satıra taşıyın.
Evet sanırım ondan. Delphi 10.1 berlin kullanıyorum. Ayrıca var ın bu şekilde kullanıldığını yeni gördüm. Akşama evde 10.3 ile deneyeceğim.

O kısmı şöyle düzeltebilirsiniz.

var
 AnimationObjects: array of TFmxObject;
begin
 AnimationObjects := [Button1, Button2, Button3];
 TButton(AnimationObjects[0]).Position.X := 8;
 TButton(AnimationObjects[1]).Position.X := 8;
 TButton(AnimationObjects[2]).Position.X := 8;
...
...
Bu konudaki farklı çözümler ufkumu genişletiyor. Teşekkürler
(26-01-2024, Saat: 09:46)RAD Coder Adlı Kullanıcıdan Alıntı: [ -> ]
(26-01-2024, Saat: 09:45)ssmr Adlı Kullanıcıdan Alıntı: [ -> ]Evet sanırım ondan. Delphi 10.1 berlin kullanıyorum. Ayrıca var ın bu şekilde kullanıldığını yeni gördüm. Akşama evde 10.3 ile deneyeceğim.

O kısmı şöyle düzeltebilirsiniz.

var
 AnimationObjects: array of TFmxObject;
begin
 AnimationObjects := [Button1, Button2, Button3];
 TButton(AnimationObjects[0]).Position.X := 8;
 TButton(AnimationObjects[1]).Position.X := 8;
 TButton(AnimationObjects[2]).Position.X := 8;
...
...
var
AnimationObjects: array of TFmxObject;
begin
 AnimationObjects := [Button1, Button2, Button3];
 TButton(AnimationObjects[0]).Position.X := 8;
 TButton(AnimationObjects[1]).Position.X := 8;
 TButton(AnimationObjects[2]).Position.X := 8;

 TThread.CreateAnonymousThread(
   procedure
   var AnimaObject:TFmxObject;
   begin
     for AnimaObject in AnimationObjects do
     begin
       TThread.Synchronize(nil,
         procedure
         begin
           StartAnimation(AnimaObject);
         end
       );
       TThread.Sleep(Edit1.Text.ToInteger);
     end;
   end
 ).Start;

Evet bu şekilde düzenlemeyle oldu. Thread in içini de düzeltmek gerekti. Cevaplarınız için çok teşekkür ederim. Diyojen in örneği de farklı bir açıdan görmemi sağladı. Yardımlarınız için tekrar teşekkür ederim
Sayfalar: 1 2