Jump to content

stijnsanders

Members
  • Content Count

    109
  • Joined

  • Last visited

  • Days Won

    2

stijnsanders last won the day on November 26 2023

stijnsanders had the most liked content!

Community Reputation

35 Excellent

Recent Profile Visitors

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

  1. stijnsanders

    Deployment to IIS

    Oh my god what happened to IIS! I knew it was fickle (It's one of the reasons I created xxm, just to get the install right just once (this is what it took way back) and then use its auto-update) but 32/64-bits and all the newer versions haven't made it easier. Apparently there's also a 'native module API', but it's for C++ only (and this unavailable for Delphi?) sad! Aside from David's suggestions, I would also advise to check the Application Pool settings, as you can make important changes there that affect the required permissions on the file system. Also that some errors end up in the Windows Event Logs, not a place you'll readily think about looking for errors!
  2. stijnsanders

    3D render engine that works with Delphi

    One of these? https://github.com/Fr0sT-Brutal/awesome-pascal?tab=readme-ov-file#game-dev
  3. stijnsanders

    rease ... at ReturnAddress

    I read this blog post: https://blog.dummzeuch.de/2024/06/04/an-improved-abstract-error-handler-for-delphi/ and noticed I had something similar, but noticed that Delphi since some recent version introduced a function ReturnAddress that is generally available, it doesn't even have code in System.pas so I suspect it's something the compiler introduces. I also notice older Delphi versions don't have this yet so I'm not sure at what version this got introduced. Does anybody know or can check? (Also I guess using ReturnAddress would future-proof your code in case the [ebp+...] offset changes again, and also should be available on other processortypes?)
  4. stijnsanders

    VTK in DelphiVCL or DelphiFMX

    I have never done much 3D (which I regret), I haven't done any Vulkan, but I just happen to remember something from when I was trying to port the old pixelcity to Delphi, that the wglCreateContext and wglMakeCurrent calls are used for more than only OpenGL. Could it be that they are the key to get Vulkan working with VCL?
  5. stijnsanders

    RegExpressions and preUnGreedy

    The site is asking me to log in (into Jira??!!) Can you post here what the workaround is?
  6. stijnsanders

    Delphi 12 Component Palette Panel Shift Issue

    If I recall correctly, the environment data is stored in files here: %APPDATA%\Embarcadero\BDS\22.0\*.dst but I'm still on Delphi 11, I'm not sure what BDS version Delphi 12 is on.
  7. What are you using to use SQLite from a Delphi project? I'm using a really thing wrapper around sqlite3.dll and haven't found any trouble with integer types. (Also, good to know is that SQLite handles column type a bit different.)
  8. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    Believe it or not, it actually started because I was trying to implement Internet Explorer's IInternetProtocol interface! And I did! For a while it worked and I had URL's working in IE that started with "xxm://"! Because so much was similar to the work I've been doing before on Apache httpd and ISAPI Extensions, I started IxxmContext and concentrated on keeping everything working in whichever environment...
  9. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    Oh my yes! How i dream about a 64-bit version of Delphi 7!!! (Are the Lazarus people listening?) You need to pay attention to details, when trying to keep a project working over Delphi 7 and 'modern' Delphi! Apparently some Explicit* properties bled through from 'modern' Delphi, and Delphi 7 only at run-time doesn't seem to be able to handle them. I'll fix this by xxm's next release. I've only included xxmProject.exe to demonstrate that there is a UI to edit project configuration, but in theory you can make all edits with notepad to Web.xxmp (it's just JSON actually). Oh, I'm missing quotes (") in the command line somewhere. I guess you can it's fixed by editing the compileCommand in Web.xxmp to this: dcc32 "-U[[HandlerPath]]public" -Q "[[ProjectName]].dpr" The path isn't part of [[ProjectName]], it's [[HandlerPath]] that gets split up, and dcc32 is trying to find the part after the space as if it was a Delphi project... But I'm glad you got it to work! Have a try making changes to see if you can extend the demo projects with whatever! Demo 04 should work just fine, but 09 is throttled yes, look at line 21 xxm_demo\09 Upload Progress\aAdd.xxm ... (It's to demonstrate the upload progress thing...) Let me know if you need anything. (Should we start a separate thread on this forum? We're no longer talking about the Negotiate:Kerberos thing anymore...)
  10. stijnsanders

    Delphi 12 is available

    I remember when I checked out Atom.io a few years ago, I was wowed at what's possible and where the state of the art was going. I understand it kind-of was the open-source answer to Sublime Text. Then I switched to Visual Studio Code, and again was wowed, this time because of how much more things could get better. It's really fitting for a (huge!) community of developers that they're all cooperating to push a single development environment forward. (Even though it's a big for-profit company that acts as the project's steward. It shows how Microsoft itself also evolved...)
  11. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    Ok, first thank you again for the suggestion! It was due time that I put some effort in those demo projects again, some were broken since a few releases, and I found a nasty bug that I'll be able to fix by the next release. So, please head over to https://sourceforge.net/projects/xxm/files/v1.2.7.477/ and check out the file "xxm_demo_with_binaries.zip" (the exe's in them may be 1.2.8 pre-release versions, but have the bug fixed... but that shouldn't matter if you just want to see xxm in action) I've explained how to get things working in the file "readme.html", just extract the folder "xxm_demo" from the zip to somewhere, and everything should work with relative paths.
  12. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    (Oh one more thing on ORM's: what I do do with databases resulted in this, and if you want to see an example xxm project that uses this extensively, see here)
  13. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    I'm glad we fully agree on ORM's. There's something very important you need to know about xxm: it is not a scripting engine. It uses (the speed and power of) the Delphi compiler to compile a DLL, based on pure-Delphi code it generates from your xxm files that have both HTML and server-side code mixed much like PHP/ASP/ColdFusion script does, but it does not interpret these scripts. So, to answer your question how exceptions are handled: the compiled DLL is run in the web-environment of your choice, either within xxmHttp.exe that is a HTTP/1.1 server in itself, or by xxmIsapi*.dll that you need to configure properly in IIS. (or the SCGI handler, or the Apache httpd module...) So if your Delphi logic raises an exception, and it doesn't get handled, it traverses into the 'higher layer', either the default exception handling the xxm handler provides, or worse the system's fallback and the 'default' system exception handling. Because you build 'real' delphi DLL's with xxm, you have access to anything you would have access to from a 'normal' Delphi project (since, well, it is, it's just auto-generated for you and hidden away in the 'src' folder). Which is a blessing an a curse, because you're supposed to know what you're doing, take care of security on the server-side, and know that some things are different when running from a DLL inside of a NT-service process... (But don't let that discourage you, most things just work the same.) But your suggestion is a really good one. I'll put a demo package together with xxmHttp.exe and a xxm.json with all the demo projects, to show off how it works. Then, as a first demo you delete some demo*.xxl files, switch to xxmHttpDev.exe and (provided you've got a working DCC32.exe available on your system) see that it really can regenerate the source files and compile the same xxl from source for you...
  14. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    Thank you for the feedback!!! It's great to finally have someone looking at xxm. I've been trying to find anyone that wants to combine Delphi and web (back-end) in a specifically different way than trying to force RAD-form design onto web-pages (yuck) and also steer clear from ORM's, but that's still something else than the basic project that indeed needs some work just to get it to be more welcoming for new users... 1) I have been sticking to Delphi 7 for a very long time, (and trying to keep xxm working for both Delphi 7 and 'modern' Delphi) so I was not sure where exactly the switch to NativeInt was. I'll update the $IF's to <30, I guess. 2) That may be by design, I've got the 'main' projects in the dpg/groupproj, and some periferal projects serve some specific tasks, or are not ready for primetime yet... 3) I'm in the process of removing xxmConvert*, and may have missed a few dpr/dproj, please check my most recent commits 4) You're right, I completely forgot to commit an example "xxm.json". xxmProject should be able to add to an empty file named "xxm.json" when you're using the "Register with xxm.json..." button, I should look into that, at least update the documentation (I had xxm.xml before, but the same problem applied...) For now you should be able to get going with something like this: { "projects": { "xxm": { "path": "D:/Data/xxm/Delphi/demo2/listprojects/listprojects.xxl" } } } Also I would suggest to limit yourself to xxmHttpDev (or just xxmHttp), the other projects are for other web-environments (IIS, SCGI, Apache httpd...)
  15. stijnsanders

    AcceptSecurityContext (Negotiate) not working

    Haha, apparently setspn is available in most Windows'es, and on my laptop: C:\Users\User1>setspn -l User1 FindDomainForAccount: Call to DsGetDcNameWithAccountW failed with return value 0x0000054B Could not find account User1 that's an oddly specific error! Arent those function calls with two letter prefixes ntdll.dll internal kernel calls? To get a proper environment set up to test this, I guess I'll have to get a developer license of Windows Server from somewhere, probably in a virtual image...
×