Jump to content

Christen Blom-Dahl

Members
  • Content Count

    17
  • Joined

  • Last visited

Posts posted by Christen Blom-Dahl


  1. 1 hour ago, Steve Maughan said:

    Maybe something special is brewing! If I had to guess maybe it would be RAD WebAssembly

    That would be a nice addition to fill the gap and cover all the mainstream web technologies.

    The problem is how to add a new platform without distracting resources from the current platforms.

    Also, ARM compilers for Mac and possibly other desktop platforms will be needed. 


  2. Hi Marco I can suggest you to implement those features as optional with the possibility of enabling/disabling any of them. This will allow the users to deactivate any of them.

    I can imagine that Andreas work is more complex because he has to inject the code in a precompiled application so if you integrate those patches in the development code it should be an easier task.

     

    Regards

    • Like 1

  3. With newer versions of Delphi you should define the function:

    function objc_msgSendP4(theReceiver: Pointer; theSelector: Pointer; P1,P2,P3,P4: Pointer): Pointer; cdecl; overload;
      external libobjc name _PU + 'objc_msgSend';

    And then you can use it as follows:

     

        objc_msgSendP4((FStillImageOutput as ILocalObject).GetObjectID,
                       sel_getUid('addObserver:forKeyPath:options:context:'),
                       FVideoCaptureDelegate.GetObjectID,
                       (StrToNSStr('capturingStillImage') as ILocalObject).GetObjectID,
                       Pointer(NSKeyValueObservingOptionNew),
                       (FAVCaptureStillImageIsCapturingStillImageContext as ILocalObject).GetObjectID);

    Nonetheless, the best solution is the one posted by Gustav some posts ago. objc_msgSend should be avoided if possible.

     

    Regards


  4. Sorry for my late answer (I've been very busy for some months). This code was compiled against Delphi XE5 and the iOS RTL has changed a lot since then. 

    Nonetheless the code is a good sample that should run with minor adjustments.

     

    Regards


  5. You must include a class attribute to specify which platforms the component is going to be available:

    
    type
    
      ...
    
      [ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidOSX32 or pidiOSSimulator or pidiOSDevice32 or pidiOSDevice64 or pidAndroid)]
      TVCDProgress = class(TCustomControl)
        ...
      end;

     

    • Like 1
    • Thanks 1
×