Delphi runtime error 217


(Wasyl3k) #1

Witam

jestem poczatkujacym programista Delphi

mam problem - napisalem aplikacje ktora robi rozne obliczenia i porownuje algorytmy operujace na sieciach Petriego (wiec glownie wchodza w gre stringi typu '00101010101')

aplikacja dziala poprawnie tylko w jednym dluzszym przypadku niby pokazuje poprawny wynik ale po zamknieciu jej wyskakuje okienki "Invalid pointer operation" po klikniejciu ok wyskakuje

RUNTIME ERROR 217 at 004026F4 - ciagle ten sam

wydaje mi sie ze o ile to pierwsze to moze byc cos ze wskaznikami (ale ja nie uzywam w programie wskaznikow) to o drugim nie wiem nic :confused: POMOZCIE

nie bardzo wiem co sie dzieje bo debugger nie wskazuje mi zadnego miescja w ktorym wystapil ten blad :confused:

jak moge to poprawic lub wylaczyc zeby sie nie pokazywalo?


(system) #2

Przeważnie "RUNTIME ERROR 217" jest następstwem "Invalid pointer operation". W delphi każda formatka i każdy komponent na niej to wskaźnik, nie da się nie używać wskaźników w delphi :smiley:

Nie jest to łatwy do wytropienia błąd. Może być następstwem:

  1. operowania kontrolkami z innego wątku.

  2. wyjściem poza zakres w tablice (string też jest tablicą)

  3. zmiany w funkcji zmiennej która została przekazana jako const, wywołując inną funkcje do której ta zmienna przekazana jako var


(Wasyl3k) #3

a dlaczego wyskakuje to dopiero w momencie jak chce zamknac aplikacje a nie w jej trakcie?


(system) #4

Ponieważ w przypadku nr 1 dochodzi do zamknięcia formy i zwolnienia zepsutych w trakcie działania programu struktur. W pozostałych przypadkach po zakończeniu programu zwalnia się pamięć zajęta przez wszystkie nie zwolnione jeszcze napisy.