Einmal das:

Zitat von
Islay:
machwas2(port:);
und zum anderen, das mir grad durch zufall aufgefallen ist:
Du hast keine forward-deklaration deiner Funktionen, soll heißen:
Der Compiler kennt die funktion erst, ab wann sie deklariert wurde.
soll heißen:
Delphi-Quellcode:
procedure machwas;
//code....
//Hier ist aber machwas2 noch unbekannt
procedure machwas2(port: TSerialPortNG); //erst ab hier ist sie dem compiler bekannt
Was man dagegen tun kann?
2 Möglichkeiten
- die machwas2-prozedur über die machwas-prozedur schieben, ist allerdings nicht die allerbeste möglichkeit
- den Funktionskopf im Interface-Teil der Unit bereits deklarieren ->
Delphi-Quellcode:
var
Form1: TForm1;
port: TSerialPortNG;
procedure machwas;
procedure machwas2(port: TSerailPortNG);
implementation
Damit kennt der Compiler nun die Funktionen immer und sollte damit das Problem lösen 
PS:

Zitat von
Islay:
Programme sind schließlich perfekt
na ja,
fast