Leaderboard
Popular Content
Showing content with the highest reputation on 09/09/24 in Posts
-
You are facing the wrong direction in asking this question. You can only get the answer to "what belongs in our MVP" by asking prospective users of your software. In fact, you need to ask Subject Matter Experts (SMEs) in that domain who have a deep understanding of how your prospective users work and what kinds of functions and services they need to do their jobs better than what's already available. For a Corporate-level CRM package, you're going to be fighting a huge investment in their current solution, and a TON of resistance to change. You can minimize the latter by making your solution as compatible with whatever turnkey solution they might be using. But most of them are customized, and the companies pay a LOT of money in maintenance fees to keep them moving forward. First, you'd have to duplicate what they've already got, then you'd have to figure out what their 3-5 year backlog of change requests is and implement the most significant of them, then get that into the hands of their Corporate IT people so far ahead of what their expectations of the current platform are that it's enough for them to go to their CIO and say, "We need to jump ship and go with this other product!" at which point they're likely to be fired. Facebook did not start out as a better MySpace. But it wasn't long before they put MySpade out of business. You need to find a small specific niche and start building something that's simple yet unique that solves a glaring problem, as laid out by an SME in that niche. Make it available cheaply or free and then listen to your customers and build new features they're looking for, but in a more abstract way. If you're lucky, in 10 years you'll have something that one of the elephants in the field will want to buy you out for 9 figures. But asking a bunch of people who are SMEs for writing software in Dephi about what they think should go into an MVP targeted at Corporate Sales, Marketing, Support, and Management is not going to get you anywhere. Reach out to SMEs in THAT domain, and the first thing you should ask is, "What's it going to take to get a typical Corporation to adopt a new and unproven CRM product? You're not going to like their answer.
-
Delphi bug reports or feature requests to "vote"/comment for (important, fatal etc)/
Tommi Prami posted a topic in Delphi IDE and APIs
Post bug reports or feature requests what you feel need some publicity. I'll post mine: Default "styled elements" appears to the inherited form needlessly (into dfm) https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-779 Add Compiler/AST assisted "With remover" refactoring tool https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-1666 SimpleRoundTo returns wrong value https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-1651 -Tee- -
Gaining access to private class vars of an implementation class
Eric Grange replied to Eric Grange's topic in RTL and Delphi Object Pascal
Encapsulation can be frustrating, but exposing everything means you're making promises. People's code will gain dependencies to everything that can be accessed or overridden. Which means you won't be able to change much (or fix) without breaking user code. Opening too much means code will sediment and become untouchable... In the case of the DX11 driver, it's obvious it was locked in the implementation section because whoever was working on it wasn't satisfied with it. Likely because he/she did not have time to tidy it up. It's essentially DX9 code with a light rewrite to DX11. I was able to hack it, but it was brittle. I'm now starting down the path of reimplementing it, which in the long term will open more possibilities (and hoping Delphi 12.2 doesn't wreak havoc on TContext3D, haha) -
Simple string obfuscation/deobfuscation
Kas Ob. replied to Shrinavat's topic in Algorithms, Data Structures and Class Design
Well see ROT13, Caesar and their family, these doesn't need key but easy to add one in case you want to, by shifting (adding) by the key, these it might fit your need Start here https://stackoverflow.com/questions/6800326/how-to-crypt-or-hide-a-string-in-delphi-exe A nice playground for Cesar https://www.dcode.fr/caesar-cipher And in general https://www.dcode.fr/en Also https://www.dcode.fr/vigenere-cipher looks nice and does have a key https://en.wikipedia.org/wiki/Vigenère_cipher Yet from quick look at it, i think it might fit your need more than Cesar or ROT13, might be wrong though, In all cases i hope this will give you at least start point for your search, and of course i believe many here will give you insight too. -
Simple string obfuscation/deobfuscation
Kas Ob. replied to Shrinavat's topic in Algorithms, Data Structures and Class Design
These two do make things very hard and even impossible to put in an algorithm, i mean going form wider range (arbitrary strings with special characters) of data to narrower output range (only Latin and digits) and while keeping length. You have to drop one of them or accept some degree of length increase ! I can't think of an alternative approach or existing algorithm, unless the length of your strings are long enough (must be big and long, or may be with repeated words and parts) to add compression layer that decrease the input strings to a sufficient length to do the presentation with Latin and digits. -
What are you using AI code-gen tools for that's working well?
Dave Nottage replied to David Schwartz's topic in General Help
Absolutely. Depending on which engines you use, it can recognise this if you "call it out" - why it doesn't realise this from the start is a mystery. I'm having loads of success discovering how to do things that I would otherwise have little or no clue about. Asking the right questions (including follow-up questions), and being able to recognise flaws in the answers, is the key. -
Am I connected to the Internet - how can I find out?
Remy Lebeau replied to JohnLM's topic in Network, Cloud and Web
On Windows, you can use the Network List Manager API, specifically the INetworkListManager.isConnectedToInternet property. However, as there are so many different ways that a PC can be connected to the Internet nowadays, you are better off simply trying to access an online resource (such as your status file) and see if it succeeds or fails, don't even bother polling the Internet status beforehand. That just introduces a TOCTOU race condition.- 2 replies
-
- delphi xe7 11 12
- internet
-
(and 1 more)
Tagged with:
-
Just to inform anyone looking for an OpenAPI client code generator, that I just made a new one, for both Delphi and FPC. It seems to be more advanced than Wagner's generator (e.g. it converts errors, enums and allOf/oneOf attributes), and is fully Open Source. https://blog.synopse.info/?post/2024/09/06/Swagger/OpenAPI-Client-Generator-for-Delphi-and-FPC Here are the top features of this OpenAPI client code generator for Delphi and FPC: Use high-level pascal records and dynamic arrays for "object" DTOs Use high-level pascal enumerations and sets for "enum" values Translate HTTP status error codes into high-level pascal Exceptions Recognize similar "properties" or "enum" to reuse the same pascal type Support of nested "$ref" for objects, parameters or types Support "allOf" attribute, with proper properties inheritance/overloading Support "oneOf" attribute, for strings or alternate record types Support of "in":"header" and "in":"cookie" parameter attributes Fallback to variant pascal type for "oneOf" or "anyOf" JSON values Each method execution is thread-safe and blocking, for safety Generated source code units are very small and easy to use, read and debug Can generate very detailed comment documentation in the unit source code Tunable engine, with plenty of generation options (e.g. about verbosity) Leverage the mORMot RTTI and JSON kernel for its internal plumbing Compatible with FPC and oldest Delphi (7-2009) Tested with several Swagger 2 and OpenAPI 3 reference content, but your input is welcome, because it is not fully compliant! Hoping you may find it interesting. The blog article has several example of the actual output of the generator, from several sources. It is the kind of information I would have wanted to see with other libraries. Use the source, Luke!
-
VSoft.UUIDv7 - a Delphi implementation of UUIDv7 (RFC 9562)
João Antônio Duarte replied to Vincent Parrett's topic in I made this
I ran a benchmark test and found that your implementation is much more performant than mine. Congratulations on the great work! -
VSoft.UUIDv7 - a Delphi implementation of UUIDv7 (RFC 9562)
Vincent Parrett replied to Vincent Parrett's topic in I made this
I rely on TGUID.NewGuid to generate the random parts - under the hood it uses CoCreateGuid which uses windows cryptographic apis - which are far more random than Delphi's Random function (and faster). -
Could not load SSL library on the 64 bit Release version from Play Store
Alex40 replied to Alex40's topic in Cross-platform
The SERVICENAME.template.java that I mentioned above is used only when the Project uses a backround service. You don't need it for the ssl libraries. To be sure you have an issue with the openSSL, do the following: 1) After setting the lib path, call the following code: IdSSLOpenSSLHeaders.Load() 2) Then use a Logcat to see what these two functions return: OpenSSLVersion IdSSLOpenSSLHeaders.WhichFailedToLoad() You can see how I do it in the screenshot bellow: Of course you can keep your folders lib\arm64. Ignore my folders 64 and 32. And one more thing - I am using OpenSSL 1.0.2q and you said you use 1.0.2r. I am not sure if they are fully compatible with 64 bit Android. PM me your email if you want me to send you my files.