![]() |
Übergabe anderer DatenTypen verhindern
Bsp.
Delphi-Quellcode:
function InitSkin(hMain: HWND; const skConfigFile: String; Maximize: Bool; Minimize: Bool): Bool;
Das const für skConfigFile habe ich hinzugefügt um zu verhindern das ein anderer DatenTyp übergeben werden kann. Dachte ich zumindest.. funktioniert aber nicht. Warum? Ich kann immer noch WideString, PWideChar als DatenTyp deklarieren und übergeben. Unter C++ wenn ich einen DatenTyp als string deklariere kann ich auch nichts anderes übergeben ohne diesen zu konvertieren. Irgendwie ein Heilloses durcheinander. gruss |
AW: Übergabe anderer DatenTypen verhindern
In den konkreten Fall konvertiert Delphi für dich automatisch.
Wenn das Verhalten anderes wäre, würden sehr viele Leute sehr viel fluchen. Das const bezieht sich nur auf die Veränderbarkeit der Argumente innerhalb der Funktion. Steht aber alles in der Hilfe bzw. Online-Dokumentation. Auch auf Deutsch. |
AW: Übergabe anderer DatenTypen verhindern
Zitat:
Gar nicht? Ich fände das für angenehm weil man dann viele Fehler verhindern könnte. gruss |
AW: Übergabe anderer DatenTypen verhindern
Ich denke gar nicht wenn Du den vordefinierten Typ String meinst. In den Fällen wo es Fehler verursachen könnten gibt Delphi normalerweise auch eine Warnung aus.
Als Alternative könntest Du dir einen eigenen Typ definieren. |
AW: Übergabe anderer DatenTypen verhindern
Zitat:
Das ist doch jetzt keine Schnittstelle, die du nach außen für ggf. andere Sprachen anbietet...oder etwa doch? :shock: |
AW: Übergabe anderer DatenTypen verhindern
Zitat:
Zitat:
Aber es gibt genug andere DLL's wo es so ist also die mit C#,C++ zusammen arbeiten. Da habe ich ja das gleiche Problem. Wenn ich dann in der DLL nicht strikt die Datentypen einhalte wie soll das dann Außerhalb korrekt funktionieren. gruss |
AW: Übergabe anderer DatenTypen verhindern
Also WENN (d)eine Schnittstelle/DLL mit anderen Programmiersprachen kompatibel sein soll, darf sie sowieso keine Strings benutzen.
Dann muss eh alles über P(Wide/Ansi)Char laufen. |
AW: Übergabe anderer DatenTypen verhindern
Zitat:
Es geht ja auch nicht im speziellen um string sondern generell um Datentypen. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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 by Thomas Breitkreuz