Conversation

Error compiling last Indy

(overview of excerpts from articles in conversation)

Newsgroup: embarcadero.public.delphi.internet.winsock

# Lines
wrote on 05-Aug-2013:

Hi,
I am following instructions for installing last Indy snapshot under my Rad
Studio XE2 (update 4), and I get the next error when running Fullc16.bat:
Embarcadero Delphi for Win32 compiler version 23.0
Copyright (c) 1983,2011 Embarcadero Technologies, Inc.
195
  
Remy Lebeau (TeamB) replied on 05-Aug-2013:

Adriano wrote:
  (snip)

  (snip)

The compiler is wrong. There is such an overload of the CreateResFmt() constructor
  available:
  {code:delphi}
37
    
Adriano Macome replied on 05-Aug-2013:

Thanks a lot Remy;
    I am trying now doing the other way, by loading each *160 dpk and compiling
    them individualy. When I try with IndyCore160, the compiler says an error
    in IdBuffer.pas, "IIdTextEncoding is not a type identifier"; what can it
    be?.
10
      
Remy Lebeau (TeamB) replied on 05-Aug-2013:

Adriano wrote:
      (snip)

That works. That is how I usually use Indy myself.
      (snip)

IIdTextEncoding is declared in IdGlobal.pas, which IdBuffer.pas uses, so
      you likely have an outdated IdGlobal.pas/.dcu file from an earlier release
      still lingering on your machine's search paths and the IDE is finding that
24
    
Remy Lebeau (TeamB) replied on 06-Aug-2013:

Remy wrote:
    (snip)

The updated scripts for XE2+ (FULLC16+) have been checked in now.
    --
    Remy Lebeau (TeamB)
    
20
      
Adriano Macome replied on 06-Aug-2013:

Great Remy!. I think I am very close to finish the update. Now I have the
      next error when I try to compile my apps:
      [DCC Fatal Error] LDSVRIDM.pas(7): F2051 Unit IndyPeerImpl was compiled with
      a different version of IdComponent.TIdComponent.BeginWork
      Do I have to recompile some Delphi packages for fixing this?
13
      
Adriano Macome replied on 06-Aug-2013:

Remy;
      (still Rad XE2 enterprise)
      Trying to find a solution I added to the library path the folder location
      for the only IndyPeerImpl.pas I have in my system. After that, I get the
      next compiler errors:
75
        
Remy Lebeau (TeamB) replied on 06-Aug-2013:

Adriano wrotE:
        (snip)

That line is calling TIdIOHandler.ReadBytes(), which expects a TIdBytes,
        but a TIPBytesPeer is being passed instead. When XE2 was released, TIdBytes
        was just an alias for TBytes. I suspect that TIPBytesPeer is likely also
        an alias for TBytes (I don't have IPPeerAPI.pas to check with), so the two
171
          
Adriano Macome replied on 06-Aug-2013:

Remy;
          All in your (!! super-professional !!) answer says XE2 IndyPeerImpl.pas is
          outdated; is there some place in were we can get an updated one?.
          Adriano
          
6
            
Adriano Macome replied on 06-Aug-2013:

I mean... is there an official update for IndyPeerImpl.pas?
            "Adriano Macome" <✉hotmail.com> escribió en el mensaje de
            noticias news:✉forums.embarcadero.com...
            (snip)

            
14
            
Remy Lebeau (TeamB) replied on 06-Aug-2013:

Adriano wrote:
            (snip)

Compared to the latest Indy, yes. But it wasn't outdated at the time it
            was written :) Each IDE release has its own copy of IndyPeerImpl.pas that
            is designed for the version of Indy 10 that shipped at that time. Obviously,
            noone can predict what future changes may be made to unit interfaces. Indy
34
              
Adriano Macome replied on 06-Aug-2013:

All is making me to think that the compatibility between current Indy and
              XE2 DataSnap and a real mystery; I mean ... it sounds as nobody tested them
              together jet.
              
              
6
                
Remy Lebeau (TeamB) replied on 06-Aug-2013:

Adriano wrote:
                (snip)

I haven't (I do use XE2, but I don't use DataSnap), and AFAIK noone else
                has, either. There have been a lot of changes to Indy since XE2's time (especially
                the jump from 10.5.x to 10.6.x for XE4). Remember, Delphi is already up
                to XE4 now (with XE5 in the near future), and Indy has been progressing during
28
                  
Adriano Macome replied on 07-Aug-2013:

Well ... I am buying Delphi since Delphi 2. But I didn´t buy XE3. I own XE4
                  license, but I am supporting an old and very published project under XE2. Do
                  you think I can use XE4->IndyPeerImpl.pas under XE2?.
                  
                  
8
                    
Remy Lebeau (TeamB) replied on 07-Aug-2013:

Hello Adriano,
                    (snip)
No, because the Indy/DataSnap bridge code apears to have been redesigned
                    in XE3. IndyPeerImpl was separated out into new IndyIPCommon, IndyIPClient
                    and IndyIPServer packages. Your best bet for XE2 is to just rewrite IndyPeerImpl's
                    implementation code to support the newer Indy 10 code, as described earlier.
17
        
Remy Lebeau (TeamB) replied on 06-Aug-2013:

Hello Adriano,
        (snip)

Yes, if you recompile Indy then you ned to recompile Delphi's IndyPeerImpl
        as well, as it acts as a bridge between Indy and DataSnap. This is stated
        in the Indy installation notes:
        http://www.indyproject.org/Sockets/Docs/Indy10Installation.EN.aspx
25
          
Adriano Macome replied on 06-Aug-2013:

I tried Remy, but I get this errors:
          [DCC Error] IndyPeerImpl.pas(1800): E2033 Types of actual and formal var
          parameters must be identical
          [DCC Error] IndyPeerImpl.pas(1806): E2250 There is no overloaded version of
          'Write' that can be called with these arguments
66
              
Remy Lebeau (TeamB) replied on 06-Aug-2013:

Adriano wrote:
              (snip)
No.
              --
              Remy Lebeau (TeamB)
              
4
  
Adriano Macome replied on 07-Aug-2013:

Hi Remy;
  Again, thank you a lot for helping me. Do you think there is some place from
  where I can download the last Indy published in the XE2 era?.
  Adriano.
  
6
    
Remy Lebeau (TeamB) replied on 07-Aug-2013:

Adriano wrote:
    (snip)

In Indy's SVN, there is a "tags" branch. The version of Indy that shipped
    with XE2 is tagged as "Indy 10.5.8 - XE2 RTM" and is SVN revision 4682.
    Unfortunately, the XE3 version of Indy (10.5.9) never got tagged, but the
    XE4 version is tagged as "10.6.0 - XE4 RTM" and is SVN revision 4989. I
30
      
Adriano Macome replied on 07-Aug-2013:

Thank you Remy; I found it but there is no zip file for download the whole
      project. I tried to follow a few svn clients installations but it seems I
      have to learn again all about computing systems to understand how to use
      them. Isn't it just a zip file for downloading Indy 10.5.8 - XE2 RTM?
      "Remy Lebeau (TeamB)" <✉no.spam.com> escribió en el mensaje de
48
      
Adriano Macome replied on 07-Aug-2013:

Remy, I finally found how to download with a vns client. Thank you!.
      
      
      
      
2
      
Adriano Macome replied on 07-Aug-2013:

Bad news .... After downloaded "Indy 10.5.8 - XE2 RTM", I found it is older
      than the ones that comes with XE2. Somebody knows any other place for
      getting a newer one?
      
      
6
        
Remy Lebeau (TeamB) replied on 07-Aug-2013:

Adriano wrote:
        (snip)

I seriously doubt that, considering that it is tagged with the specific revision
        that actually shipped with the IDE.
        (snip)
An SVN client can download any revision of a file/project, not just tagged
        ones. Download from the Trunk branch instead of a Tag branch, and when go
32
          
Adriano Macome replied on 08-Aug-2013:

Excellent Remy!!!, I found it all. Tomorrow I will try from 4806 down to
          4682 to find the best one.
          Thank you very much.
          Adriano.
          
5
          
Adriano Macome replied on 08-Aug-2013:

Remy;
          Revision 4806 compiled without errors under XE2 (service pack 4).
          Best regards, and thank you again.
          Adriano
          
5
        
Remy Lebeau (TeamB) replied on 07-Aug-2013:

Adriano wrote:
        (snip)
Unfortunately, no.
        --
        Remy Lebeau (TeamB)
        
5
FYI: Phrase searches are enclosed in either single or double quotes
 
 
Originally created by
Tamarack Associates
Sun, 19 May 2024 15:20:49 UTC
Copyright © 2009-2024
HREF Tools Corp.