Na forum 4programmers.net korzystamy z plików cookies. Część z nich jest niezbędna do funkcjonowania
naszego forum, natomiast wykorzystanie pozostałych zależy od Twojej dobrowolnej zgody, którą możesz
wyrazić poniżej. Klikając „Zaakceptuj Wszystkie” zgadzasz się na wykorzystywanie przez nas plików cookies
analitycznych oraz reklamowych, jeżeli nie chcesz udzielić nam swojej zgody kliknij „Tylko niezbędne”.
Możesz także wyrazić swoją zgodę odrębnie dla plików cookies analitycznych lub reklamowych. W tym celu
ustaw odpowiednio pola wyboru i kliknij „Zaakceptuj Zaznaczone”. Więcej informacji o technologii cookie
znajduje się w naszej polityce prywatności.
Patryk27: Timer to takie sobie rozwiązanie, bo faktycznie jego
minimalny Interval może wynosić 100 milisekund, jak już to w
celu wykonywania czegoś w tle skorzystal bym raczej z wątku.
olesio nie podsycaj jeszcze bardziej ognia głupich pomysłów - gaś je!!! Potem się wykluwają różne dziwne twory, które zabijają jak się tylko na nie spojrzy...
Misiekd: szczerze pisząć nie wczytałem się specjalnie w
treść wątku, zobaczyłem tylko że polecany jest Timer z
niskim Intervalem, dlatego napisałem to co widać, a tak
jak teraz widzę nie miewałem takich problemow, jak tu
TomRiddle opisał, wskaźniki też używam zwykle rzadko.
Boże drogi czy w serwisie nie ma możliwości oznaczania pomysłów jako nad wyraz głupi??? Albo chociaż jakiś future, który by pozwalał porazić takowego user prądem... Cokolwiek.
@TomRiddle to co chcesz osiągnąć jest, hm jakby to delikatnie ująć - głupie. Tak się nie robi, rekordy nie są do tego. Po co dublować wartości? Po co dodatkowa zmienne - przecież masz Image1.Left - dlaczego nie podstawiasz wartości tutaj od razu?
Można rozwiązać Twój problem na dwa sposoby (znaczy ja widzę dwa sposoby), oba mają swoje ograniczenia. Pierwszy to wskaźniki - zamiast Left, Top: Integer; daj Left, Top: PInteger; i przypisz do nich adres zmiennych z Image1 RecImage1.Left := @Image1.Left; a potem jak zmieniasz RecImage1.Left^ := 100; to tak naprawdę zmieniasz Image1.Left. Jego ograniczeniem/wadą jest to, że jak zrobisz RecImage1 := RecImage2 to się wszytko posypie. Drugi to klasa zamiast rekordu
wadą jest to, że jest to klasa więc najpierw trzeba stworzyć jej obiekt a później go zniszczyć. Dodatkowo trzeba jakoś pożenić settery z obiektami, którym mają ustawiać właściwości. No i na koniec takie coś też nie zadziała
Kopiuj
var
a, b: TRecImage;begin
a.Left :=10;
b := a;end;
Nie o to mi chodziło, RecImage1 ma inne właściwości których nie ma Image1. W tym jedną właściwość z nowym typem.
Już wpadłem na ten pomysł, i na końcu procedury która zmienia wartości Left i Top, dodaje ten kodzik