RemoveRoute()
=============

FUNKTION
--------
::

     void RemoveRoute();

DEFINIERT IN
------------
::

     /std/transport.c

ARGUMENTE
---------
::

     keine

BESCHREIBUNG
------------
::

     Der Transporter wird angehalten und der gesamte Fahrplan wird
     geloescht. Damit lassen sich zum Beispiel variable Routen konstruieren.

RUeCKGABEWERT
-------------
::

     keiner

SIEHE AUCH
----------
::

     AddRoute(), AddMsg(), AddFun(), /std/transport.c


Last modified: Wed May 8 10:24:26 1996 by Wargon

