How can we help you?

Issue #25 resolved
Ronald Klitsche created an issue

Hi CrossVCL team,

the new approach to use VCL on MacOS looks very nice. Great work and idea! AFAICS not all of the Windows API are implemented, do you want to get them reported or is there another way how we can help you?

Regards Ronald

Comments (14)

  1. Eugene Kryukov repo owner

    Posting unimplemented API here is good for us. We are working on implementing new APIs, but we try to implement most important API first. Some API like - metafile support may be never be implemented. Some API list theming has low priority (mostly because of useless such API on Retina displays). We will close issue when API is implemented.

    We don't plan any schedule or roadmap, at least now.

  2. Ralf Stocker

    Can we workaround these "dyld: Symbol not found:"- things to get an app in a compile complete state? It would be very helpful to see further problems in an earlier stage.

  3. Eugene Kryukov repo owner

    The only way to do that is commenting source code. CrossVcl always use original source on installation, feel free to make changes in local crossvcl\source folder.

  4. Ronald Klitsche reporter

    To understand the approach of implementing these Windows API on MacOS is, that you write a proxy API in the dylib and wrap it to the MacOS APIs or write it by yourself?

    By example the TMetaFile use the CreateEnhMetafile() API and you have to convert it like wine is doing it: https://github.com/wine-mirror/wine/blob/master/dlls/gdiplus/metafile.c

    Your dylibs are implement in Delphi and each CrossVCL App comes with his own little wine?

  5. Eugene Kryukov repo owner

    If there is an similar API in macOS we just make a proxy, if no we implement it by self.

    Our dylibs implemented not in Delphi.

  6. Ronald Klitsche reporter

    ok, that's strange. Your dylibs carry the signature of Delphi Berlin Update 1: Embarcadero Delphi for Mac OS X compiler version 31.0 (24.0.24468.8770)

  7. Eugene Kryukov repo owner

    The CrossVcl's core is in libcrossvcl.dylibs. Other libraries is a proxy dylibs with simple functionality.

  8. Ronald Klitsche reporter

    Thank's for the light. If a API function isn't included in CrossVCL, there will be no way to add it by myself, right? Or do you have any Backdoor, custom exits or paid custom enhancements?

    My Application which I want to port to MacOS, make a havy use of TMetafile. If you say this may not be included, can be a nogo.

  9. Eugene Kryukov repo owner

    The only way to make a custom implementation is making changes in headers and use you own dll instead. It is impossible at runtime, because all external functions linked in linking stage.

  10. Log in to comment