Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Probleme beim einbinden einer DLL

  Alt 17. Mai 2010, 20:24
Moin Markus,

bei der Verwendung von Headern verwende ich immer const, auch bei Ausgabeparametern (in Delphi ist es allerdings üblich bei Ausgabeparametern var zu verwenden)

Begründung:
Bei C ist es üblich, dass bei Ausgabeparametern ein Pointer auf den Speicherbereich übergeben wird, in dem die Funktion den Wert ablegen kann. De Facto sind die Parameter also immer const.
Dadurch, dass ich diese Parameter mit const deklariere kann ich auch nil übergeben.
Gerade bei Funktionen der Windows-API kommt es häufig vor, dass man auch nil bei einem Ausgabeparameter angeben kann, wenn man den Rückgabewert nicht benötigt. Wird dieser dann, wie in Delphi üblich, als var deklariert, kann man dass nicht machen.

Ohne die Angabe const, var, out ist es ein Wert-Parameter, der als Kopie an die Funktion übergeben wird, so dass Änderungen des Wertes durch die Funktion nicht auf den Wert einer eventuell übergebenen Variablen durchschlagen.
Da dies bei C-Funktionen nicht vorkommen kann, macht es für mich auch keinen Sinn hier einen Wert-Parameter anzugeben.

Man kann es natürlich auch ohne const und ggf. mir var machen, aber das ist auch Geschmackssache.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat