I am trying to upgrade to the latest version of Indy in Delphi XE2 (Update 4) (because a legacy program needs support for TLS1.2).
I have downloaded the latest Indy source from GitHub and have compiled and installed the packages.
I am now following the update instructions for XE2 as described in the Indy Wiki, specifically the instructions for modifying and recompiling IndyPeerImpl.pas as described by Remy Lebeau in this thread: http://www.codenewsfast.com/cnf/article/1430996872/permalink.art-ng1921q9582
I have made all the changes described in that thread but am now stuck on the very last instruction, which states that Indy's TPasswordEvent type was changed to use UnicodeString instead of AnsiString, so the TIPTestServerPeer.TOnGetPassword class and the TIdServerIOHandlerSSLOpenSSLPeer.LOnGetPassword() event handler "will have to be updated accordingly".
I have changed the relevant parts of TIPTestServerPeer.TOnGetPassword from AnsiString to String without any obvious issues.
However, when I change TIdServerIOHandlerSSLOpenSSLPeer.LOnGetPassword() to use String instead of AnsiString I get an error because FOnGetPassEvent still uses AnsiString.
FOnGetPassEvent is of type TPasswordEventPeer which is implemented in IPPeerAPI with an AnsiString parameter.
Does anyone have any idea how to get around this? I'm not sure what exactly I need to change in IndyPeerImpl.pas to get this to compile.
Any advice would be greatly appreciated.
Thanks in advance.