Jump to content

stijnsanders

Members
  • Content Count

    38
  • Joined

  • Last visited

Posts posted by stijnsanders


  1. I rember something about old Delphi versions acting up when you've done some of the most recent windows updates.

    If I recall correctly, you need to delete a key "LM" under HKEY_CURRENT_USER\Software\Borland\Delphi\6.0 and then start Delphi to re-create that value with the right data.

    • Like 1
    • Thanks 1

  2. I would respectfully request you to have a look at an alternative web platform I've been working on: https://github.com/stijnsanders/xxm

     

    It's not really designed to do REST endpoints, but all of the worker threads are COM enabled and also the main interface to generically connect all of the things any HTTP server environment offers is a COM interface.

    If I understand correctly, mapping each request to and from the different COM objects and their methods should be set up. This could be quite a manual task, or in the best case partially generated from scripts based on the IDL, but for a public facing HTTP endpoint it's important to do input sanitation and other security measures.


  3. Guys, are all of you missing this? Due to the Pascal calling convention, the first (plain!) argument of a function maps into the same register(s), so in fact this is valid and correct code. Though strictly I agree it looks weird and like as if in 'normal' cases the Value members aren't assigned to Result members. Bit in fact, they're already there! So what is actually needed is a 'type size limiting' cast, which is exactly what Result.x:=SmallInt(Result.x); is.

    • Haha 1
    • Confused 1

  4. Funny thing is, I recently had to think back at how I started with Delphi. Yes I did a bit of Turbo Pascal before, but I can't clearly remember what exactly it was I needed to get fluent in Delphi. As far as I can vaguely remember, it all did start with the documentation and the 'get stated' tutorial. Even if something like that covers the bases, the next step should be obvious. You should have enough knowledge to start a simple project. I remember my first Delphi project was a good old numbers to roman numerals converter. And I took off from there.

     

    (And about the initial discussion, sorry but I can't help it, I want people to know: If you know what you're doing, and really really need only the JSON and nothing extra, I've written my own no frills JSON parser here)


  5. I use both TortoiseGit and https://gitforwindows.org/ without any problem. Comitting shouldn't feel like it's not easy. I've worked with TortoiseSVN (and still do) as well, and with git you just need to remember you're comitting to something local and still need to push to a remote somewhere. (and/or fetch and merge)


  6. Because of the problems with Delphi's own ISAPI units, and because I'm always searching to have the thinnest possible wrapper around things, I've created my own ISAPI units for my own web-solution:

    https://github.com/stijnsanders/xxm#xxm

    There's a lot more in the project where the entire website compiles into a single library, and the ISAPI handler (or the Apache handler, or the SCGI handler) can re-compile the library if the source has changes, or auto-update the library when a new version is available, all hot-loaded by suspending incoming requests a little while unloading the old and loading the new.

    But in this specific case I wonder if you would run into the same problem if you base your project on xxm.


  7. In case anyone would be interested. Because when working with Variants with ADO, and because I really dislike long lists of overloads, I've created my own JSON handler fully based on Variants (and arrays of Variants, and Variants holding IUnknown derivatives...):

    https://github.com/stijnsanders/jsonDoc#jsondoc

    And Variant has a Null value as well, which could solve this problem. (And also a varDate VarType, but I just notice now that my jsonDoc converts from varDate to JSON, but not correctly back, hmm.. but like Attila Kovacs says above, it's open source so you could just add a type handler any way you like)


  8. Is there a page that lists alternatives? I would like to list my Delphi+HTTP platform there also so people can check it out and decide what would suit them best:

    https://github.com/stijnsanders/xxm

    It started as a way to use the Delphi compiler to create dynamic web-pages, and not so much a API/ORM/Data-connector style HTTP+Delphi setup you see with almost all the other solutions.

    I kept a strong focus on having everything for the website in a single DLL, and have the option of switching the same DLL between IIS, Apache or anything really. And even hot-swapping the DLL for a next version of the DLL, suspending new requests a little to unload the old DLL and load the new one instead. This is also something I haven't seen with other Delphi for the web solutions out there...


  9. I myself mostly use MSXML2_TLB.pas imported from the type library of Microsoft XML itself, not Delphi's take on it which makes things unneccessarily complicated.

    Also what you may need is to set LDocument.setProperty('SelectionNamespaces','xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02"'); to make it work


  10. I made my own diff just to get it the way I want it: DirDiff

    What I didn't want is the stuff that's the same for both twice on screen. The last re-work I did on it enabled diffs between 3 or more files, but that's still not exactly what's needed for conflict resolution.

    I've open-sourced it here: Github...

    • Like 2
×