Jump to content

PolywickStudio

Members
  • Content Count

    22
  • Joined

  • Last visited

Community Reputation

3 Neutral

Technical Information

  • Delphi-Version
    Delphi 12 Athens

Recent Profile Visitors

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

  1. PolywickStudio

    OAauthV2 on Android or iOS Is there example?

    How do you login to a site that uses OAuthV2? Is there a way to get the callback from OAuthV2?
  2. PolywickStudio

    OAauthV2 on Android or iOS Is there example?

    Is there an Indy example for OAuth v2 on Android or iOS? Is there an example how to handle this?
  3. I get warning after I uploaded AAB file to Android PlayStore with: Content labeling (Accessibility). A quick search on Google doesn't reveal much. This is what I'm referring to: Content labels - Android Accessibility Help
  4. PolywickStudio

    ICS v9.3 Android?

    Does ICS v9.3 support Android x64 or Android 32-bit? I get this error. Cannot load libcrypto.3.dynlib First chance exception at $000000799476004C. Exception class EIcsLibeayException with message 'Failed to load OpenSSL file libcrypto.3.dylib - Handle 0'.
  5. https://polywickstudio.net/case-study/Clarion-to-Delphi-Traffic-Citation-App-Modernization Case Study Upgraded a traffic citation application from Clarion to Delphi 11. Ticket Please? Where's the ticket from? Customer choose Interbase as they required row-level and record-level encryption, as well as on-cloud remote database connectivity to Mobile apps.
  6. Andy's VCL Fix Pack is a Delphi open-source unit that fixes VCL and RTL issues at runtime by patching the original functions. Andy's Unit contains easy-to-use functions to update code that cannot be easily recompiled or changed. If you try to change VCL sources (files in Source folder of your RadStudio, Delphi or C++ Builder installation) and attempt to recompile them within your project, you'll get multiple errors, such as: DCU mismatch, (file1.pas) is compiled with a newer version of (file2.pas). This occurs when source-code is compiled with a different file and needs to be fully recompiled. In the below example, I will use Andy's fix pack to fix a long standing bug - QC15408. Without fix: With fix: Repository: https://github.com/PolywickStudio/AndyVCLFIXPack
  7. I operate a small business doing Delphi coding and work-for-hire. My services are: App modernization, legacy upgrades. From Delphi 1 (Windows 3.1) to Delphi XE 12.1 See: Case Studies I’ve personally developed on C++ UI components, newer Delphi Skia-based components. New application development (UI work, coding). You can choose from different team options: Dedicated team - need a team? Staff augmentation (developers on-and-off basis), Outsourcing (such as, 3 hours a week, Once a month to update Delphi app) What you get: Full source-code in Github/ Gitlab/ BitBucket / Azure repository. CI/CD build (where applicable), so when there's check-in, a build is made. Markdown documented and unit tested code. Optional profiling project if code is slow. Warranty (if there's a small fix it'll get fixed). I'm top-rated on Upwork and on Embarcadero Blogs. My website and contact form.
  8. Here's the distilled Delphi code: unit exampleunit; interface uses Windows, Messages, SysUtils, Classes, VCL.Graphics, VCL.Controls, VCL.Forms, VCL.Dialogs, VCL.StdCtrls, VCL.Buttons; type TExample = class(TCustomControl) protected procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE; end; procedure Register; implementation procedure TExample.WMMouseMove(var Message: TWMMouseMove); begin // inherited; end; procedure Register; begin RegisterComponents('Samples', [TExample]); end; end. Here's the C++ code. C++ Builder is, supposed to be the equivalent of Delphi, and should allow for C++-only VCL components. In reality, all the development goes one way. Delphi exported components to C++ Builder. Here's the C++ Builder component: //--------------------------------------------------------------------------- #ifndef examplecomponentcppH #define examplecomponentcppH //--------------------------------------------------------------------------- #include <System.Classes.hpp> #include <System.SysUtils.hpp> #include <Vcl.Controls.hpp> #include <Vcl.ExtCtrls.hpp> class PACKAGE TExampleCpp : public TCustomControl { private: protected: void WMMouseMove(TWMMouseMove Message); public: __fastcall TExampleCpp(TComponent *Owner); __fastcall virtual ~TExampleCpp(); }; #endif //--------------------------------------------------------------------------- #pragma hdrstop #include "examplecomponentcpp.h" //--------------------------------------------------------------------------- #pragma package(smart_init) __fastcall TExampleCpp::TExampleCpp(TComponent *Owner) : TCustomControl(Owner) { } __fastcall TExampleCpp::~TExampleCpp() { } void TExampleCpp::WMMouseMove(TWMMouseMove Message) { // what to put here that is equivalent of the Delphi version? TCustomControl::WMMouseMove(Message); } static inline void ValidCtrCheck(TExampleCpp *) { new TExampleCpp(NULL); } There is "inherited." It's called __super https://stackoverflow.com/questions/8326309/borland-delphi-alternative-to-super-keyword or (baseclass)::(procedure). The question is. In Delphi, the inherited keyword works and causes the code to go to a private procedure in controls.pas. This beaks the cannot call private procedures and functions compiler restriction in Delphi. Which is enforced in Delphi. In C++ Builder, it bugs out and [bcc32c Error] examplecomponentcpp.cpp(17): 'WMMouseMove' is a private member of 'Vcl::Controls::TControl' Vcl.Controls.hpp(1655): declared private here Why is inherited keyword not supported in C++ Builder? Does that mean, it becomes impossible to build components in C++ Builder? the same code that compiles and works, in Delphi, cannot be done in C++ Builder? Why is it, the same Delphi code, exports as a C++ Builder component works in C++ Builder? When you try to do the same thing in C++ Builder, it becomes impossible, or there are no code samples. > You need to call the base class Dispatch() method. Or override the virtual WndProc() method instead of using a MESSAGE_MAP Can you show a complete example?
  9. In the Delphi code, I did the same, create a component from TCustomControl. I add WMMouseMove windows message procedure TCustomControlButton.WMMouseMove(var Message: TWMMouseMove); begin // inherited; // how to emulate this keyword and call base class's WMMouseMove in C++ Builder? end; In C++ Builder, I am trying to build a VCL C++ Builder component. I sub-class TCustomControl. However, I cannot seem to do the same equivalent in C++ Builder. "inherited". What should I do to solve this problem? void __fastcall TCustomControlButton::WMMouseMove( Winapi::Messages::TWMMouse &Message) { // do something... TCustomControl::WMMouseMove(Message); // OR __super::WMMouseMove(Message); } I get: [bcc32c Error] something.cpp(300): 'WMMouseMove' is a private member of 'Vcl::Controls::TControl'. Vcl.Controls.hpp(1655): declared private here
  10. I've been doing some simple testing. Delphi 11.3 2000000 TStringList.AddObject in 141.17ms (14,167,115.00/s) TStringList.Rehash in 1us TStringList.Clear in 47.36ms first TStringList.IndexOf in 7us 20000 TStringList.IndexOf in 8.35s (2,392.00/s) 2000000 TStringListHash.AddObject in 139ms (14,387,661.00/s) TStringListHash.Rehash in 0us TStringListHash.Clear in 46.22ms first TStringListHash.IndexOf in 275.24ms 20000 TStringListHash.IndexOf in 5.60ms (3,570,790.00/s) 2000000 TDictionary.AddObject in 788.58ms (2,536,188.00/s) TDictionary.Clear in 292.92ms 20000 TDictionary.IndexOf in 3.24ms (6,172,839.00/s) Spring4D's IDictionary 20000 IDictionary.Add in 3.38ms (5,917,159.00/s) first IDictionary.TryGetValue in 1us 20000 IDictionary.TryGetValue in 753us (26,560,424.00/s) Use Spring?
  11. Can I ask. Do you have the source-code for your changes you made? The source-code in this thread has only for the Sequenced, TArray.BinS, TDict and TSynDict, not Spring. For CustomBinS, the hash routine often access violation 'out of range' and not suitable for larger arrays...
  12. Hi, http://www.overbyte.eu/ is down. I cannot download ICS. Please advise if they have mirror location(s).
  13. PolywickStudio

    Using Facebook SDK in Firemonkey (iOS and Android)

    Does anyone have an update for this, i.e., login to Google, login to Facebook in Android and iOS platform?
  14. I would like to use BackBlaze S3-compatible API. How would I use BackBlaze S3-Compatible API with Delphi?
  15. Let's say you have a set of repeat numbers: TDictionary<integer1, TDicationary<integer2, integer3>> [1, [2, 1]] [1, [1, 2]] [1, [1, 3]] (huge... like 30000) [2, [2, 1]] [2, [1, 2]] [2, [1, 3]] ... [3, [2, 1]] [3, [1, 2]] [3, [1, 3]] What would be a fast way to select all numbers with [x, [x, 1]], then [x, [x, 2]] ? I do a loop but there must be a faster way than loop the loop.
×