Witam.
Przypuszczam że znalazłem błąd w funkcji MemCopy , ale chciałbym sprawdzić czy nie występuje on tylko u mnie.
. Funkcja zwraca do zmiennej WORD lub INTEGER ilość skopiowanych bajtów. Jeżeli wynik ma być zwrócony, do zmiennej globalnej jest wszystko w porządku. Kłopot zaczyna się jeżeli wynik ma być zwrócony do zmiennej lokalnej, po zakończeniu funkcja Memcopy nadpisuje inną zmienną.
Przedstawione jest to w procedurze Sub Bug_memcopy:
- zdefiniowane są dwie zmienne lokalne typu word B i C
- zerowanie zmiennej B i C
- wywołanie funkcji Memcopy (6 bajtów do skopiowania między dwoma tablicami), ilość skopiowanych bajtów powinna byś zwrócona do zmiennej C
- niestety zmienna C ma wartość 0, a zmienna B jest równa 6 a powinna mieć wartość 0
Przykład komplikowałem wersją 2.0.7.3.001 i 2.0.7.5.002 (Win7 64bit).
Przypuszczam że znalazłem błąd w funkcji MemCopy , ale chciałbym sprawdzić czy nie występuje on tylko u mnie.
Przedstawione jest to w procedurze Sub Bug_memcopy:
- zdefiniowane są dwie zmienne lokalne typu word B i C
- zerowanie zmiennej B i C
- wywołanie funkcji Memcopy (6 bajtów do skopiowania między dwoma tablicami), ilość skopiowanych bajtów powinna byś zwrócona do zmiennej C
- niestety zmienna C ma wartość 0, a zmienna B jest równa 6 a powinna mieć wartość 0
Przykład komplikowałem wersją 2.0.7.3.001 i 2.0.7.5.002 (Win7 64bit).
Kod: text