-
Content Count
83 -
Joined
-
Last visited
-
Days Won
3
Posts posted by Ondrej Kelle
-
-
I'm guessing your Form1 doesn't have a window handle yet in its OnCreate event. Try calling HandleNeeded before creating the thread, or move your code to OnShow or somewhere else where the form already has been initialized including the window handle.
-
Hi, perhaps this helps:
A long time ago, I've solved a similar problem differently.
I split the setup into two processes: 1. client with UI and 2. elevated server with no UI.
I used some modified old-style DataSnap code for inter-process communication which was easy at the time but that's just an implementation detail.
https://tondrej.blogspot.com/2007/06/datasnap-to-rescue.html -
According to the documentation, it should:
QuoteFor a dynamic array variable, SetLength reallocates the array referenced by
S
to the given length. -
A long time ago I wrote one for files in the $(DELPHI)\Source directory:
https://cc.embarcadero.com/Item/18989It could be adjusted to work for any files on the library search path.
- 1
-
(I apologise if I'm missing the context here.)
Automatically and unconditionally sorting units alphabetically doesn't seem to be a good idea. If you have multiple units exposing the same identifier then changing the order of units in the uses clause changes how they are resolved, probably leading to unintended changes to runtime behaviour of your code.
- 4
-
5 hours ago, David Hoyle said:It looks like GIT SVN FETCH is not enough (there is no PULL). To get all the latest updates I needed to do a hard reset and rebase.
The code now compiles. Apologies.git svn rebase
is what I usually do.
-
8 hours ago, Blavatsky said:Hello Ondrej,
Has there been any new work on Jedi Uses WIZARD ? How do you use it exactly ?
I tried compiling it (D11 JEDI 2.8 and 3.5) but it mentioned something about first getting a DOC-O-MATIC filename.... What does that entail ?Hi. Sorry, I haven't used it for years now and I have no idea.
-
Without UNION ALL referencing itself, it's just a non-recursive CTE.
-
Your CTE is in fact not recursive as it doesn't reference itself or use UNION ALL.
Generalized syntax for a recursive CTE looks like this:WITH RECURSIVE <cte_alias> AS ( SELECT <parent data> -- root node’s data UNION ALL SELECT <child data> -- children’s data JOIN <cte_alias> ON <parent_link> ) -- DO // for the Delphians SELECT * FROM <cte_alias>
Source:
https://www.firebirdsql.org/file/community/ppts/fbcon11/FBTrees2011.pdf- 1
-
https://www.delphipower.xyz/guide_7/adding_new_application_templates.html
Alternatively, you could write a design-time IDE extension implementing IOTAProjectCreator interface.
- 1
-
17 hours ago, dummzeuch said:Which Delphi version was that for? My guess would be Delphi 7 or earlier, because later versions use a VirtualTreeview and I found no way to get at its contents.
From the comment about TLine from coreide60.bpl, it might have been Delphi 6.
Sorry if it's no longer applicable.
-
Years ago I wrote the "JEDI Uses Wizard" which scanned compiler messages to "catch" unresolved symbol errors and offer adding appropriate units to the uses clause. With no official OpenTools API available, it had to use a hack to retrieve the compiler output from the message window's treeview.
The code is very old and perhaps a bit dangerous (although back then it seemed stable) and I have no idea if it still works today (the IDE internals might have changed). See if it helps you:
https://github.com/project-jedi/jcl/blob/master/jcl/experts/useswizard/JCLUsesWizard.pas- 1
-
3 hours ago, Andrea Raimondi said:I would be especially interested in "working demos" such as UI pieces etc. I know you can do this with TMS and JavaScript or a host of other options (such as Smart Pascal or Quartex) but they all revolve around the very insecure NodeJS and I want nothing to do with that.
There's an option of running WebAssembly via ChakraCore. I've blogged about it here: WebAssembly with Delphi and ChakraCore. There's source code for Delphi 7 or higher and Free Pascal 3.0.4 or higher.
It should be possible to use V8 or SpiderMonkey in a similar way. I haven't tried this.
I also know of some WebAssembly runtimes like wasmtime and wasmer (these two are both written in Rust) but unfortunately their C-style API is still incomplete (even the API spec itself is still work in progress)...
-
2 hours ago, Dany Marmur said:Do you know if it is possible to select a range of committs and inspect the difference between first and last for a file?
I've found this way:
- In the Explorer view, open your working copy file
- In the File History view, right-click on the first commit in your range, select "Select for Compare".
- Still in the File History view, right-click on the last commit in your range, select "Compare with Selected"
-
-
I find TortoiseGit useful. It's a Windows Explorer extension, similar to TortoiseSVN which you might know already.
-
On 10/30/2020 at 10:13 PM, Kryvich said:Have you seen QuickJS Javascript Engine: https://bellard.org/quickjs/
The author claims almost complete ES2020 support.
Also, it already has Delphi and Free Pascal bindings:
https://github.com/Coldzer0/QuickJS-Pascal- 1
-
12 hours ago, Kryvich said:Have you seen QuickJS Javascript Engine: https://bellard.org/quickjs/
The author claims almost complete ES2020 support.
It's interesting. Thank you!
-
1 hour ago, Rollo62 said:Very nice work, would make a lot of sense with chakracore.
Thanks!
QuoteMaybe you can update us on the status of chakracore, and its current use-cases ?
You can read about their future plans here on the GitHub repo:
I think the current ChakraCore is still very nice if you need a high-performance scripting engine with JIT and GC embedded in your desktop application (with support for Windows, MacOS and Linux) and if ES6/partial ES2017 language support is sufficient for you: here are the compatibility tables .
QuoteDoes it make sense to use it still in new projects ?
It depends on whether you need to support the evolving ES standards and if the opensource community can provide new features. Also, security fixes - IIRC, Microsoft plan to provide them until March 2021.
- 1
-
The new experimental/variants branch of chakracore-delphi introduces some experimental support for Variants...
Read more on my blog- 1
-
-
3 hours ago, Carlo Barazzetta said:Yes, to develop the app the font must be installed on the system in order to use it in the IDE.
Deploying the app you can do as you explain:If you wanted to avoid the requirement of having the fonts installed globally in Windows you could write a design package with the fonts linked in as resources. The package, when loaded by the IDE, could load the fonts from the resources (using the code shown by @Attila Kovacs) and call Screen.ResetFonts to signal the IDE to reinitialize its font list . After that the fonts would be available to the IDE.
-
The problem, I think, is that .NET's Nullable is a generic type and as such can't be exposed to COM.
-
Great news from Dalija Prasnikar! Thank you!
https://dalijap.blogspot.com/2020/03/unified-memory-management-coming-with.html
- 2
ForEach runs only one "thread" at time
in OmniThreadLibrary
Posted
`ProcessMessages` is never called...