AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim einbinden einer DLL

Ein Thema von ryLIX · begonnen am 16. Mai 2010 · letzter Beitrag vom 20. Mai 2010
Antwort Antwort
Christian Seehase
(Co-Admin)

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

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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz