Jump to content

ertank

Members
  • Content Count

    58
  • Joined

  • Last visited

Community Reputation

3 Neutral

Technical Information

  • Delphi-Version
    Delphi 10.3 Rio

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. ertank

    Indy - rev.5507 compile problem

    That just worked. Thanks a lot.
  2. ertank

    Indy - rev.5507 compile problem

    Hello, I cannot compile latest revision of Indy using fpcupdeluxe. Below is log of errors I receive: Compiling Debug Version (1002) Target OS: Win64 for x64 (3104) Compiling indylaz.pas (3104) Compiling .\Core\IdAboutVCL.pas (3104) Compiling .\Core\IdDsnCoreResourceStrings.pas (1010) Writing Resource String Table file: IdDsnCoreResourceStrings.rsj (3104) Compiling .\System\IdGlobal.pas (3104) Compiling .\System\IdException.pas (3104) Compiling .\System\IdResourceStrings.pas (1010) Writing Resource String Table file: IdResourceStrings.rsj (3104) Compiling .\System\IdStream.pas (3104) Compiling .\System\IdStreamVCL.pas (3104) Compiling .\Core\IdAntiFreeze.pas (3104) Compiling .\System\IdAntiFreezeBase.pas (3104) Compiling .\System\IdBaseComponent.pas C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(101,96) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(103,91) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(104,82) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(112,83) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(113,80) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(114,81) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(115,78) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(118,91) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(119,86) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(121,12) Error: (2021) ENDIF without IF(N)DEF C:\fpcupdeluxe\ccr\indy\Lib\.\Core\IdAntiFreeze.pas(122,3) Fatal: (2003) Syntax error, "=" expected but ")" found Fatal: (1018) Compilation aborted Error: C:\fpcupdeluxe\fpc\bin\x86_64-win64\ppcx64.exe returned an error exitcode Error: (lazarus) Compile package indylaz 10.6.2: stopped with exit code 1 Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Exit code 1" Error: (lazarus) Building IDE: Compile AutoInstall Packages failed. make: *** [useride] Error 2 fpcupdeluxe: ERROR: UniversalInstaller (ConfigModule: indy): Failure trying to rebuild Lazarus. Details: ERROR: Fpcupdeluxe fatal error ! I checked IdAntiFreeze.pas, but it is slightly complicated IF conditionals in there for me. I do not have a spare VM with Delphi to test if it is compiled fine with Delphi. Using stock Indy delivered with Delphi installation for now. Thanks & regards, Ertan
  3. ertank

    CDATA CSV Component

    Hello, You did not clarify if you need FMX or VCL or both in your question. I am using SMImport, SMExport suite from http://www.scalabium.com for years. Never had the need to look for another solution. They are VCL only.
  4. ertank

    Publishing iOS apps

    Following following steps, I finally can deploy for Application Store and have my IPA file generated. 1. revoke your active certificate in the provisioning portal 2. create new developer certificate (keychain access/.../request for csr...etc.) 3. download and install a new certificate 4. create a new provisioning profile for existing app id (on provisioning portal) 5. download and install new provisioning profile and in the build, settings set the appropriate code signing identities More details can be found at here: https://stackoverflow.com/questions/12867878/missing-private-key-in-the-distribution-certificate-on-keychain Thanks to everyone.
  5. ertank

    Publishing iOS apps

    As it is explained, it is in the "menu" of Keychain application. Below screen capture is from my system. Highlighting the relevant menu item. Even if my system is not English, location should be same in your system.
  6. ertank

    Publishing iOS apps

    There is such a menu item. Nothing is listed when I click on it. Seems I don't have any expired certificate at all. that makes sense as initially that app distributed by some other developer using some other development tool. However, I finally found reason. I go to Preferences under XCode menu item. Under accounts, I click Manage Certificates and below is what I see. Even if I have found reason, I still do not know how to fix that.
  7. ertank

    Publishing iOS apps

    Actually, I already have a certificate linked to it. That same certificate is already loaded on MacOS, too. I see it in KeyChain. I am confused. Here is a screen shot:
  8. ertank

    Publishing iOS apps

    Here is a screen shot from options page And here is error I receive when I click on "Deploy" button: No certificate found in provisioning profile "12021c75-fa17-4838-9834-39593ec234eb" Thanks.
  9. ertank

    Publishing iOS apps

    App was distributed at least once (maybe more, I do not know) before. It is not developed and distributed using Delphi, before. There is a distribution certificate as far as I can tell on the MacOS. I will read linked steps and advise if they are of any help.
  10. ertank

    Publishing iOS apps

    I see one "iPhone Distribution: <Company name>" in Keychain (under login, and My Certificates) and its expiration date is 16th of June 2020.
  11. ertank

    Publishing iOS apps

    Hello, There is an app ready to be put on App Store. That app was previously deployed using another development tool that I do not know. This will be an update for that successor. However, it cannot be deployed using Application Store configuration. As far as I can tell. MacOS already have deployment certificate installed. However, that cannot be seen in Delphi Project options->Deployment-Provisioning There is no problem on deploying using development configuration on a physical iPhone at all. There is no problem on deploying on Simulator as well. None of the documentation that we read so far helped us. There is no problem viewing development certificate on same options page. Any help is appreciated. Thanks & regards, Ertan
  12. ertank

    Datasnap -> MARS conversion

    I knew that there has to be an easier way. That did work nicely. I have one question standing in my mind. As I know current code in mobile app, I may need to make synchronous calls to server, just because to let user know there is something going on at the moment (screen wait text is changing with each SQL command run). I appreciate an example on a synchronous call, please. I am starting to implement my UPDATE/INSERT/DELETE handling now. I believe that will be easier having all these SELECT working. They will reply as a simple True/False after all. Thank you.
  13. ertank

    Datasnap -> MARS conversion

    It will be easier for me to use any preferred http component on client side. I am going to have one dataset per request, always. Now, I have some JSON received at client like following: [ { "EMP_NO": 2, "FIRST_NAME": "Robert", "LAST_NAME": "Nelson", "PHONE_EXT": "250", "HIRE_DATE": "1988-12-28T00:00:00.000+02:00", "DEPT_NO": "600", "JOB_CODE": "VP", "JOB_GRADE": 2, "JOB_COUNTRY": "USA", "SALARY": 105900, "FULL_NAME": "Nelson, Robert" }, { "EMP_NO": 4, "FIRST_NAME": "Bruce", "LAST_NAME": "Young", "PHONE_EXT": "233", "HIRE_DATE": "1988-12-28T00:00:00.000+02:00", "DEPT_NO": "621", "JOB_CODE": "Eng", "JOB_GRADE": 2, "JOB_COUNTRY": "USA", "SALARY": 97500, "FULL_NAME": "Young, Bruce" } ] In brief, I am getting what I want. Now, I would like to make life much easier on client side to manipulate that data and decrease lines of code. That is if such a thing is possible... As this is a simple JSON string, there is no datatype information like TDateTime, Integer, Double, etc. Is it possible to receive raw memory table data which contains all necessary information to build back easily TDataSet or TFDMemTable at client side? My current server code is as following: unit Server.Resources; interface uses SysUtils, Classes, MARS.Core.Attributes, MARS.Core.MediaType, MARS.Core.JSON, MARS.Core.Response, MARS.Core.URL, MARS.Core.Token.Resource, Data.DB, MARS.Data.FireDAC, FireDAC.Phys.FB; type TStatement = record SQL: string; Name: string; end; [Path('helloworld')] THelloWorldResource = class protected [Context] FD: TMARSFireDAC; public [POST, Produces(TMediaType.APPLICATION_JSON)] function GetData([BodyParam] AStatement: TStatement): TDataSet; end; [Path('token')] TTokenResource = class(TMARSTokenResource) end; implementation uses MARS.Core.Registry; { THelloWorldResource } function THelloWorldResource.GetData(AStatement: TStatement): TDataSet; begin Result := FD.SetName<TDataSet>(FD.Query(AStatement.SQL), AStatement.Name); end; initialization TMARSResourceRegistry.Instance.RegisterResource<THelloWorldResource>; TMARSResourceRegistry.Instance.RegisterResource<TTokenResource>; end. I already tried and failed to convert [POST, Produces(TMediaType.APPLICATION_JSON)] to [POST, Produces(TMediaType.APPLICATION_JSON_FireDAC)] which I suppose is what I need to achieve above. I solved one error and that lead to another one. Just could not solve them all. Again, this is a Delphi to Delphi solution. Client here is FMX mobile. Data is for reporting purposes and it is read-only on client. Thanks for all your help. Regards, Ertan
  14. ertank

    Datasnap -> MARS conversion

    Hello, Thanks for step by step instructions. I am informed that I do not need multiple SQL results to be returned at once. So I choose not to use an array here. That will be a "Delphi to Delphi" solution. I would like to use MARS Client for requests. I have following setup in DataModule: MARSApplication -> MARSClient1 -> MARSFDResource1 One question here: How should I set POST BODY (TStatement) before I call MARSFDResource1.POST() or MARSClient1.Post()? I am not even sure which component to use for doing post request here. I would like MARSFDResource1 to fill up TFDMemTable right after receiving response. Sorry for all these newbie questions. I hope some other new starters will benefit in the future 🙂 Thanks & regards, Ertan
  15. Hello, There is that custom build old DataSnap application. It works with Firebird database and only provides 3 methods; GetData, ExecuteQuery, SwitchDatabase. Their use is as their names indicate. All of the methods are called in a single long URL such as datasnapserver/GetData/SELECT * FROM EMPLOYEE That returns SQL result as JSON string. Other 2 methods simply return True/False and error message if False. As the nature of the GetData method, it sometimes gets quite long and complicated URL including all that JOINs, WHERE and conditions added. I wonder if similar can be done using MARS, and have it handle returned data to be filled in a memory table. This maybe a long shot, but I also would like to put all these SQLs in body of the GET request, if such a thing is possible. Thanks.
×