Jump to content

NamoRamana

Members
  • Content Count

    28
  • Joined

  • Last visited

Posts posted by NamoRamana


  1. Trying to recompile old code in Delphi 10.3.2 and getting error: 'IdObjs not found'. Also code insight shows red line under TIdThreadList. Does Delphi Rio (10.3.2) missing any indy libraries? Any indy libraries merged/renamed in later delphi versions?

     

    interface
    
    uses IdContext, Classes, SysUtils, IdCustomTCPServer, StreamUtils,
      IdTCPConnection, IdYarn, IdObjs, IdComponent;
    
    type
      TRequestType = (rtNone, rtGetFileList, rtGetFile, rtGetMasterHash, rtDisconnect);
      TResponseType = (rstNone, rstFile, rstString, rstStringList);
    
      TGetMasterHash = procedure (var AHash : string) of object;
      TGetFileList = procedure (var AFileList : TStrings) of object;
      TGetFile = procedure (const AFilename : string; var AStream : TStream) of object;
      TBytesSent = procedure (AByteCount : integer) of object;
    
      TSyncContext = class(TIdContext)
      private
        FOnGetMasterHash: TGetMasterHash;
        FOnGetFileList: TGetFileList;
        FOnGetFile: TGetFile;
        FOnBytesSent: TBytesSent;
        FBytesSentTotal : integer;
      protected
        procedure WriteResponseHeader(AResponseType : TResponseType; ASize : Int64);
        function ReadRequestHeader : TRequestType;
    
        procedure DoGetMasterHash; virtual;
        procedure DoGetFileList; virtual;
        procedure DoGetFile(const AFilename : string); virtual;
        procedure DoBytesSent(AByteCount : integer); virtual;
    
        procedure DoWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
        procedure DoWorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Integer);
      public
        constructor Create(AConnection: TIdTCPConnection; AYarn: TIdYarn;
          AList: TIdThreadList = nil); override;

     


  2. When I try to start Interbase db as windows service, it throws and error: Unable to start server: unknown error.

     

    However, when I uncheck "Run as.. Windows Service", it does run in as system tray application.

     

    I have local admin priviledges on Win10 machine. Have Delphi Rio 10.3.1.

     

    image.thumb.png.cd26902ff784d51bc0c38119480e03f0.png


  3. Newbie here.. We have a lot of COM+ server components ( > 30 COM dlls developed in Delphi 2006) in the present system. We are evaluating to convert them in Delphi Rio based some REST server, preferably keeping the endpoint signatures the same (to make minimum changes in a huge delphi client application). It will be a huge undertaking, apart from unicode etc related conversion (64-bit conversion will be the next step; after successful 32bit upgrade). I was wondering if MARS can ease this server migration?

     

    - in MARS, can I install multiple resources under the same server ? Idea here is that, each com server dll will act as own resource and its public methods will be the endpoints. For the better code management, is it possible to keep each resource code in its separate delphi project? how complex will be the installation of the REST server and these multiple resources, if we host them in IIS?

    - in current COM servers, Many of the method calls make heavy use of OleVarients as input and output paramas. Is there anything in MARS/REST that can keep those method signature same ?

    - in current COM env, we see some heavily used components slow down the end-user response a lot (sometimes, we have to reboot the host server). Do you think, MARS based REST service can handle a lots requests to a resource(I don't have request numbers)?

     

    Sorry for the lot of heavy questions. Your response/strategy/recommendation to tackle this upgrade will be helpful.

     

    Thank you :).

×