Jump to content

Vincent Gsell

Members
  • Content Count

    19
  • Joined

  • Last visited

Community Reputation

9 Neutral

Technical Information

  • Delphi-Version
    Delphi 11 Alexandria

Recent Profile Visitors

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

  1. Vincent Gsell

    Firemonkey 3d Measurement Units

    Hi No stupid question. FMX Real world measurement : There are not. You decide. 🙂 It is a matter of scale. In your example, for a room/floor, you can *arbitrary* fix 1 FMX unit for 1 meter, for example. So, in this case, you will working in your 3d FMX project in meter. The Proportion will alway be correct, whatever the real world unit you will apply. As a side effect or working with scale, we can note : --> Real world unit will be important when you will have to convert potential import/export 3d object to your/anoter coordinate (scale) system. for exemple, taking a turbosquid (or whatever) object and import it into your "world", will lead you to put, after loading, a code such as : MyImportedObject.Scale.point := point3d(lConversion,lConversion,lConversion); --> In fact, depending what project you are modelizing ("human" scale (as your exemple), molecular scale, maps (GIS) Scale or event inter-planetary space scale) you will have to adapt FMX unit scale to your target world normal metrics (and vice-versa). --> Technical tips : FMX 3D allow you 1000 unit of camera visibility, so, if you want to modelize a "city" map, for exemple, you'll certainly fixed a scale such as 0.001 FMX unit for 1 meter irl, for exemple. Hope this help
  2. Stunning ! Thx for the post ! Fellowed Freya on Twitter/X for a while, she wrote "shapes" (if I remember well) which is an outstanding lib on Unity. Her video on algebra for game is very cool too.
  3. Vincent Gsell

    [FMX beginner] Key Handling

    Hi ! - D7 VCL to D11.3 FMX : what a huge jump. 😉 ! - just tested under a blanck 11.1 fmx app : I do not have the problem. Event trigered without system beep (I put just a showMessage in the event ). Could you teste in a same way under 11.3 ? (blanck app) - Have you something special in the event ?
  4. Hi ! Idem ! We have Indy based tenant : Prod logs 60 connections "average" (so, 60 connections threads), with no problem at all. As a detail, we have Nginx on front, fine configured, with geoip and ip2fail and few other tools. (Delphi servers have not to deal with server side ssh currently) Architecture detail : Server only manage connections and context : it communicates throught our bus with "services" (which is standalone delphi linux console app) which perform workers duty. The Servers do not perfoms business stuffs directly.
  5. Warning : Very "quick and dirty as a "One min programming challenge ";) -> joke appart : - you can mimic the pythonic "resp.iter_line" : Just wrap in a TThread descendant all what is done in screen capture. (Put the http and idssl component in the TThread descendant) - And on each "get stream" (onWork summoning), qualify the "new line", and send it on your main thread. - Avoid use of AnonymousThread here, it was just to make it quicky'n dirty.
  6. Vincent Gsell

    Create animated GIF in FireMonley

    My 2 cents : For Displaying and animating : - https://github.com/TomDannert/GIFImage - Skia4Delphi ! I do not advise you to use http://www.raysoftware.cn/559.html : It unfortunaly not work on all gif, and on recent compiler, it does not pass range checking. Tom Dannert's version (https://github.com/TomDannert/GIFImage ) is a far better start if you want to write a Gif Writer. It is right that, under FMX, full cross platform (linux and mobile included), I do not have direct solution to write GIF.
  7. Vincent Gsell

    Is it Omni question ?

    Even is heap is captured, object life time is not guaranted. i.e. : Your Exception object (E) is (certainly) no longer available when Proc in queue is running. Put E.Message in a string just before TThread.Queue Hint : CoInitialize... Try ... Finally CoUninitialize end; would be cooler here !
  8. Vincent Gsell

    ANN: Skia4Delphi v3.4.0

    Hi, On my side that it works nice under ubuntu 20.04TLS. (on a VM !) - I remove completely older version of skia (I had trouble on linux side (different than yours @Serge_G - lib load issue - But origin is on my side, I make mess 😉)), -> I just done the update via getit in 3.40, and Skia4Delphi demo app work nice ! @vfbb : very very nice work !
  9. ah ! if you get the joke, you're near to be a dev, sorry to hear that :)))) - The link correction is ok, and I was able to download it and have a (very) quick look: - the program is very tiny, and handles mostly the user interface. - As I see it (but short study, I may be wrong), the core of the program build a ".bat" file by adding command lines (from the UI data), and then executes it. (with argyll external binaries) - The program has (a lot of) dependencies throught commercial components. (TadvSmoothpanel (TMS software), TimageEnVie (ImageEn), TpLsController (Precision Language Suite) - Delphi (With an "I" not an "Y" !) is a commercial product, yes. But you have delphi Community Edition, which is quite complete and can be used for non commercial product for free. https://www.embarcadero.com/fr/products/delphi/starter/free-download Here, your very first problem is commercial components : For an OpenSource product, It is quite limitating. Very sorry for the delphi world, but as I see it, if "multilingual" stuff and "UI" stuff is not important for you, yes, it can be rewrite in python :)))) ---> Delphi has been used here to give to the product a cool UI, imho. - Github is a SCM. (A very tiny and discreet one) 😄 As I said, I have no personal time for that, but put it on a SCM could help, or, perhaps, directly on the business interest area (print, photography and so on) where a casual dev could handle it, ihmo)
  10. :))) Hugo : I like photography, but I don't have too much time too, but the project looks interesting !! Note: on the website you provided, the sources are not downloadable (Broken link) I also allow myself to try to "translate the joke" of Frost to help you, Hugo (As I understand, your are not developer) : - Python is a language that mainly calls libraries, written in languages like c, c++, pascal (or any other archetypal language) - Python therefore allows easy access to an underlying complexity. *But*, this complexity is hidden in libraries. No magic. - So, in your case, rewriting in python what your program does is total nonsense : It would it be 1000 times slower, it wouldn't be necessarily simpler, and it would be as verbose as it is now. And many times more weak, technically/support speaking. Ultimately, you would have to make a library of the "business" points of your program, then, it'll allow an "easy" access with python. That would make sense. But that's up for discussion, and it more a strategic question. That said, in your case, I would rather advise to begin to put your project on github (or other), in order to potentially interest other devs? cheers, and good luck for this nice project.
  11. Vincent Gsell

    Python code is running in main thread (on standard) ?

    Hello Pi4D is great! (Here is a "just in time" webinar ;)) IMHO, the use of threads is not straightforward with python. (in python alone, it's already not great, that said ;)) there are demos with thread management in the Pi4D subdirectories. Please, study it : for your issue, it will help. That said, here is my experience in python threading scenarios applied in production: - Use only 1 pythonEngine. - Simple Thread: Use the provided TPythonThread class. If we use only 1 thread so as not to "block the GUI" (as you seem to want to do), it works fine. Be careful, if you want to use the IO components, you *must not* set PythonEngine.ThreadMode to newInterpreter. - NewInterpreter disables IO (see PythonExecute) - In all case, An "AllowThreading" directive must be called before and after using thread. (see demo) - In multithreading (more than 2 threads), it is imperative to set PythonEngine.ThreadMode to newInterpreter (at least, according to my unit tests). --> Consequence: no more IO. We have to manage differently via the scripts - In Massif mutlithread : Under linux, as part of a cloud server running python services, I use Python by running a command line run and getting the standard output. This saves resources but we no longer have the advantages of handling scripts via P4D at all. So I adapt my scripts. Hope this helps!
  12. Hi ! On my side, I have 2 pro use case (delphi and FPC) where we changed standart memory manager : First, I'm fully agreed with David Hefferman, we have not succeded to spot "the" memory manager which spot all our need. -> I proclamed myself "basic user" on this subject, I plug, and launch test, and I took the best thanks memory/speed/context meters. :) - First case , where we used FastMM4 in a customized bus oriented server : (GridServer + custom synapse based socketing) work very well. (used preliminary for memory counsumption barrier) - Second case, in a raytracer-like image generator, where we targeted best thread usage with memory sharing : We are using currently scalemm2 on backend intel based server (and nothing on arm embeded based - (side question : is there some memory manager perform well on linux/arm under FPC ?). On the first use case, on FastMM4/FastMM5 usage, I have a slight better result on FastMM5. I'll dig :) On the second one, Test results give to ScaleMM2 to keep its avantage (Average of 35% more speed than FastMM5 - again, no tunning) Note that, this result is the same with FastMM4) @Pierre le Riche If you are interested to get some test code for this "graphics" test, I'll be happy to cooperate. Here it is, in all case *thank you a lot* Pierre, for your *amazing work* (and @Günther Schoch's company for sponsoring !): FastMM5 is cool and work well as is, no more really need to tune compile side, (this is cool), and the overall compatibility seems to be nice. regards, Vincent
  13. But if you ever contact the author, is it not better to ask a dll which wrap directly the data acqusition mecanism ? (if it is a cpp solution...) In fact, I had done such things, in order to get Panda3D "PBR" offscreen rendering image, and got pretty good result with sending data via UDP by 64k chunk, (App "from" was Python).
  14. Vincent Gsell

    DIBControls by Droopy Eyes Software

    Was very good comps ! I remember cDib.pas was excelent. :) Kudos Mr Morris :) Funny things is I tryed to recompile it for fun a couple of month ago, and it compile with only a few compilations directive and pchar ajustement under 10.3.2, but there are some unicode stuff needs to be upgrade under the tree :) So, It compiles, Install, but do not works :) I saw there are some animation compo that I did not see on 2K's times : I missed something. :) When working on PXL compos wrapper, I always had in mind DIBControl, how it was fast and smooth !
  15. Joining Lars's solution : Queue are cool, and the polling solution offer many avantage compare to syncho stuff, as you mention it. I usually stand on a Bus for intercommunication thread in case of dedicated taks thread resident and "service" oriented, as you describte. https://github.com/VincentGsell/GS.Bus
×