Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Unbekannter Typ PLongBool in aktueller Indy r 5468 (https://www.delphipraxis.net/197185-unbekannter-typ-plongbool-aktueller-indy-r-5468-a.html)

mjustin 20. Jul 2018 15:48


Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Delphi 2009 kennt kein PLongBool, daher kann IdGlobal in Revision 5468 nicht kompiliert werden:

Delphi-Quellcode:
{$IFNDEF USE_ICONV}
  {$IFNDEF HAS_LocaleCharsFromUnicode}
    {$IFDEF WINDOWS}
function LocaleCharsFromUnicode(CodePage, Flags: Cardinal;
  UnicodeStr: PWideChar; UnicodeStrLen: Integer; LocaleStr: PAnsiChar;
  **LocaleStrLen: Integer; DefaultChar: PAnsiChar; UsedDefaultChar: PLongBool): Integer; overload;**
  {$IFDEF USE_INLINE}inline;{$ENDIF}
begin
  Result := WideCharToMultiByte(CodePage, Flags, UnicodeStr, UnicodeStrLen, LocaleStr, LocaleStrLen, DefaultChar, UsedDefaultChar);
end;
      {$DEFINE HAS_LocaleCharsFromUnicode}
    {$ENDIF}
  {$ENDIF}
{$ENDIF}
Wenn PLongBool mit PBOOL ersetzt wird kompiliert Delphi die Unit ohne Fehler / Warnungen. Ab welcher Version ist der Typ PLongBool in Delphi enthalten? Bei allen davor müßte in Indy entsprechend angepasst werden.

Bugtracker Eintrag: https://github.com/IndySockets/Indy/issues/220

Uwe Raabe 20. Jul 2018 16:31

AW: Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Zitat:

Zitat von mjustin (Beitrag 1408114)
Ab welcher Version ist der Typ PLongBool in Delphi enthalten?

Nach meinen Erkenntnissen, seit XE.

Redeemer 20. Jul 2018 18:13

AW: Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Docwiki sagt LongBool seit XE, PLongBool seit XE2.

PBool könnte einem um die Ohren fliegen, wenn das Boolean gepackt oder $A aus oder 2 ist.

mjustin 20. Jul 2018 18:31

AW: Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Danke für die Antworten und den Hinweis auf Risiken bei der Verwendung von PBOOL!

p.s. der Bug besteht seit der Änderung in Revision 5464, Revision 5463 ist kompilierbar.

Redeemer 20. Jul 2018 18:58

AW: Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Sorry, LongBool gibt es schon wesentlich länger, braucht man ja für die Winapi. Man könnte sich PLongBool also einfach als
Delphi-Quellcode:
type PLongBool = ^LongBool;
selbst definieren.

Uwe Raabe 20. Jul 2018 19:12

AW: Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Zitat:

Zitat von Redeemer (Beitrag 1408136)
Docwiki sagt LongBool seit XE, PLongBool seit XE2.

Only trust the source!

PLongBool ist bereits in XE deklariert.

mjustin 20. Jul 2018 20:31

AW: Unbekannter Typ PLongBool in aktueller Indy r 5468
 
Der Bug ist in Indy Revision 5469 behoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz