#5 Delphi / C4D Webinar – kbmMW core explained – REPLAY available

Alpha Stock Images - http://alphastockimages.com/

Hi again,

October 26. 2019 at 15:30 (3:30PM) CEST (UTC+2) I presented kbmMW core features.

The presentation focused on the central pieces of kbmMW like the transport, transport stream, custom service and simple client, in addition to showing a little bit about the traditional query service and client features.

Find the replay at: https://www.youtube.com/watch?v=6sNyFkO_P7E

If you have a great idea for a topic, and perhaps even would like to present it yourself, then just contact me on email at kbm@components4developers.com. I welcome just about anything of interest for Delphi, as long as its legal and can be viewed by minors. Even presentations about competing products are valid topics!

This is the itinerary for the next upcoming meetings:

Nov 9, 2019 03:30 PM – kbmMW authorization features explained
Nov 23, 2019 03:30 PM – ?
Dec 7, 2019 03:30 PM – ?
Dec 21, 2019 03:30 PM – ?

Please download and import the following iCalendar (.ics) files to your calendar system.
Download ICS calendar file

 

 

259 total views, 3 views today

Author: kimbomadsen

2 thoughts on “#5 Delphi / C4D Webinar – kbmMW core explained – REPLAY available

  1. Kim,

    Some questions:
    1. When I have a service derived from TkbmMWCustomQueryService how can I make it multi-threaded? I.e. when there are multiple users and threads requesting TkbmMWClientQueries how can I make them run in different threads so that one long query of one user would not make everybody wait? Where can I read more on that subject?
    2. Is it possible to have TkbmMWClientQuery on a client side but on a server side to have a procedure that would construct the dataset ‘manually’ instead of using pre-made query components? Is there any documentation or sample code?
    Thanks in advance,
    Alex Liberov

  2. Hi Alex, I will try to answer you with the things I have already learned.
    1) Any KbmmwXXService is Multithreaded, the only thing you need to set the service flags that is if there will be a Pool for a limited number of instances of a service:
    —-
    // Return the maximum number of instances that is allowed to run.
    {$IFNDEF CPP}class{$ENDIF} function TkbmMWCustomServiceXXXX.GetMaxInstances:integer;
    begin
    Result:=-1; //unlimited
    end;

    or you must create an instance per thread/session (stateful). In the kbmmw service wizard, select ‘stateful’ service.
    ——-
    {$IFNDEF CPP}class{$ENDIF} function TkbmMWCustomQueryServiceXXXX.GetFlags:TkbmMWServiceFlags;
    begin
    Result:=[mwsfListed,mwsfStateful];
    end;
    ——
    check demo: Demo\Basic\Stateful
    2) Dont understand exactly your question, do you mean to use a clientside query like ‘select * from XXxxxx’ , withotu having to have a corresponding Server side qury object for that select? the queyr servcie is for that, ti create a new TkbmMWXXXquery (FireDAC, ODAC, ADO, Etc) on the fly when a sql query is submitted via kbmMWClientQuery.

    check demo:
    Demo\Basic\Client (Coomont client demo)
    Demo\Basic\SQLiteServer (serve side demo using SQLite database)

Leave a Reply

Your email address will not be published. Required fields are marked *

fifteen + 17 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.