http://www.freepascal.org/docs-html/user/userap4.html
216 General Protection fault
The application tried to access invalid memory space. This can be caused by several problems:
Dereferencing a nil pointer.
Trying to access memory which is out of bounds (for example, calling move with an invalid length).
while (y^.data > x^.data) and (x^.dalsi<>setrideny.konec) do x:=x^.dalsi;
Co, kdyz je x^.dalsi = nil? Ja teda v pascalu uz radu let nic nedelal a cela ta konstrukce je mi zahadou, jak asi funguje, ale predpokladam, ze to tak nejak pri vytvareni naplnuje pole data, dalsi, konec. A jestlize v tom poli nebude odkaz na dalsi radek, pak tam bude co? A co se stane, kdyz to neco zacnes porovnavat? Kdyz na tu druhou podminku pro ten posledni radek vubec nedojde, tak program asi funguje.
Pripadne si muzes to pole/objekt pri kazdem prujezdu cyklu cele vypsat, abys videl, co je ulozene v promennych.
Jinak, vyjmy, vyhledej, vloz..., spoustu funkci. Ale hlavni vec, kdyz to funguje.