Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#25

Re: Bedingt Prozedur aufrufen

  Alt 30. Jan 2008, 18:18
Zitat von oki:
so sollte es aber doch richtig sein ... oder bin ich jetzt blind
Entweder bin ich auf dem Holzweg, aber PortOut ist vom Typ TPortOut und das ist ein definierter Typ einer procedure. Wenn du also nun irgendwo einfach nur PortOut schreibst (wie du es ja beim endgültigen Aufruf tust), dann ruft er die Procedure auf. Dies schreibst du nun aber auch bei der Zuweisung mit GetProcAdress() und bei der If Abfrage. Somit will der Compiler dort einen Aufruf machen, da du ja eindeutig die Procedure aufrufst. Von daher meckert er die fehlenden Parameter an.

Deshalb muss man die Adresse zuweisen beim GetProcAdress(), also mit dem @ davor. Bei der If Abfrage will man schliesslich auch nicht den Rückgabewert der Procedure mit Nil vergleichen sondern die abgelegte Adresse der Funktion. Von daher auch dort ein @ davor - oder - mit Assigned() prüfen.
  Mit Zitat antworten Zitat