Seite 1 von 1
Wann Macro, wann Procedure einsetzen?
Verfasst: 15.06.2006 13:17
von PBZecke
Hallo!
Ich habe mal ne Frage zu Makros. Ich hab mir das mal in der Hilfe
angeschaut, sehe aber für mich keinen Einsatzgrund, den es aber ja mit
Sicherheit gibt, sich mir nur nicht erschließt!
Könnt ihr mir vielleicht mal ein Einsatzbeispiel bringen in dem ein Macro
eindeutig besser geeignet als eine Procedure ist? Ich sehe da wahrscheinlich
den Wald vor lauter Bäumen nicht

Verfasst: 15.06.2006 14:01
von ts-soft
Ein Macro wird an der Stelle des Aufrufs komplett eingefügt. Dadurch fällt also ein Procedure-Aufruf weg und es geht schneller. Die Exe wird aber grösser, wenn das Macro öfters aufgerufen wird, weil dort immer der komplette Code eingefügt wird.
Jetzt mußte nur abwägen, Geschwindigkeit - Dateigrösse
Wobei, mit Macros kann man ein paar Sachen anstellen, die sonst nicht möglich wären
Verfasst: 15.06.2006 14:05
von PBZecke
>> Wobei, mit Macros kann man ein paar Sachen anstellen, die sonst nicht möglich wären
Genau das möchte ich näher wissen. Den Unterschied zwichen Macro und
Procedure habe ich der Hilfe entnehmen können, hab es gelesen, auch wenn
in meiner Signatur was anderes steht
Bis jetzt sehe ich keinen Vorteil im Einsatzt eines Macros gegenüber einer
Procedure.
Verfasst: 15.06.2006 14:39
von Zaphod
Macros haben in der Benutzung auch keinen Vorteil. Im gegenteil, unter umständen können sie zu schwer auffindbaren Fehlern führen.
Sie können aber auch durchaus große steigerungen in der Ablaufgeschwindigkeit bringen.
Macros setzt man typischerweise da ein, wo man sonst nur eine sehr kleine Prozedur geschrieben hätte.
Verfasst: 15.06.2006 16:10
von remi_meier
Beispiel:
Code: Alles auswählen
Macro DQ
"
EndMacro
Macro Assert(x)
CompilerIf #pb_compiler_debugger
If Not (x)
Debug "Error: "+DQ#x#DQ+" was false in line "+Str(#pb_compiler_line)
CallDebugger
EndIf
CompilerEndIf
EndMacro
x = 1
y = 2
Assert(x < y)
Assert(x > y)