zoran

Forum Replies Created

Viewing 11 reply threads
  • Author
    Posts
    • #55973
      zoran
      Participant

      No. I reverted to 5.16. This is in D 10.4.2. When I have the time I’ll try it in D 11 (which I’m not using yet – waiting for the next 1-2 patches)

    • #55828
      zoran
      Participant

      Hello Everyone

      Found the solution. It’s a simple TDictionary list of RequestIds and callback procedures. Upon return from query/service in kbmMWTCPIPIndyMessagingClientTransport1AsyncResponse event I check RequestId against this list and, if found, execute corresponding callback procedure.

      If any of the fellow kbmMW-ers is interested I can send a complete demo source. I’m using D 10.3.3, FireDAC and Firebird 3.0.7.

      Again, this is a simple solution to setup GUI before time consuming kbmMW operations, do some other work while it is running, and clean up GUI upon return. Maybe not elegant as it might be, but it does the job for me.

      I’ve tried to do the same thing with

      Scheduler.Run(
      procedure
      begin
      …run query or service …
      end)
      .SynchronizedAfterRun(
      procedure
      begin
      … process the resut …
      Memo1.Lines.Add(res);
      end)
      .Activate(true);

      but was successful only with queries, not with service calls. Perhaps I was doing something wrong.

      Regards
      Zoran

    • #55573
      zoran
      Participant

      Looks like 79100 has some problems. I had to revert back to older versions of kbmMemtable and kbmMW (post FindKey problem below).

      Unfortunately Kim doesn’t have enough time to visit this forum 🙁

      Zoran

       

    • #55566
      zoran
      Participant

      In debugger after

      mt.IndexFieldNames:= ‘Age’;
      mt.IndexName := ‘ix_Age’;

      both fields are still empty (?).

    • #54774
      zoran
      Participant

      Scheduler.Run(procedure(const AScheduledEvent:IkbmMWScheduledEvent)
      begin
      v := DM.kbmMWPooledSimpleClient1.Request(‘SVC_Common’, ‘1.0’, ‘GetLookupTable’, [‘all’]);
      AScheduledEvent.Data := v;
      end
      )
      .SynchronizedAfterRun(
      procedure(const AScheduledEvent:IkbmMWScheduledEvent)
      begin
      RefreshLookupAll_LoadTables(AScheduledEvent.Data);
      end
      )
      .Activate(True);

      Doesn’t work either… 🙁

    • #54691
      zoran
      Participant

      Forget it.

      It’s Delphi’s handling of Timestamp column. Both server and client use regional (local) FormatSettings to process Timestamp column, so different regions cause this error.

    • #54405
      zoran
      Participant

      After some more testing I found out that PrepareForData can be replaced with qry.Open.

      Some accents are lost with this code:

      qry.Close;

      //qry.Open;

      qry.AllData := v;

      but if I uncomment the second line, all works fine.

    • #54402
      zoran
      Participant

      Hi Kim

      In my client I had:

      qry.AllData := v;

      When I add in front of it

      kbmMWBinaryStreamFormat1.PrepareForData(False, False);

      all works fine.

      Thank you.

    • #54361
      zoran
      Participant

      Never mind.

      If I define arrId: variant and do

      arrId := VarArrayCreate([0,0], varVariant);

      and then  populate it with my int64 values, all works fine…

      I’m puzzled why it also works when arrId: TArray<integer> and not when arrId: TArray<int64>?

      Sorry for the false alert…

    • #54351
      zoran
      Participant

      Hi Kim

      I know you’re busy. Could you answer the question above, please?

      Thanks.

      Zoran

    • #54342
      zoran
      Participant

      Thanks Kim, it worked.

      Another short question. In my test server I put kbmMWTCPServerTransport and it works fine with client which has kbmMWTCPIPIndyClientTransport. However If I replace client Indy transport with kbmMWTCPClientTransport (and re-connect the properties), client cannot connect to the server. I’ve tried changing different properties but it still cannot connect.

      Aren’t kbmMWTCPServerTransport  and kbmMWTCPClientTransport meant to work together?

      Thank you.

      Zoran

    • #54301
      zoran
      Participant

      PS. This happens only when ‘kbmMW  memory debug/leak checking’ option is set during installation.

Viewing 11 reply threads