Jump to content

mvanrijnen

Members
  • Content Count

    471
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by mvanrijnen

  1. mvanrijnen

    Project Options -> Version Info aka. dproj madness

    Yes, i always have to set the version multiple times also in the IDE, Would be nice if there was an apply to child configs (All->Win32->Release/Debug) etc. Or better a checkbox with a Single Version option, which then makes sure the version is applied to all configs.
  2. I have a tool for that, (not tested with the different SMB version yet). (when the scanner can smtp or ftp) You can setup a simple virtual ftp and/or smtp server with it, In the configuration you can determine which ftp folder or fake smtp emailaddress goes to another protocol, e.g SMBvx, secure ftp, secure smtp, office365 etc etc. (tool needs some work to go public) The tool is named: ProtoBridge Of course this is a tool which would never be directly connected to the internet. configuration example: // Common Settings [general] queuefolder=e:\Data\MyCompany\ProtoBridge ;discardhandledmessage=false discardhandledfiles=true debug=false // IP accesslist [acl] allowed=172.16.29.4,172.16.29.41,172.16.29.42,172.16.29.249,172.16.29.250,192.168.1.3,192.168.1.4,192.168.1.15,192.168.1.16,172.16.29.170,172.16.29.153,172.16.29.37,172.16.29.38,172.16.29.104,172.16.29.131,192.168.1.18 ;blocked=127.0.0.1 // setup virtual smtpserver [smtpserver] smtp_listenip=172.16.29.4,192.168.1.18 smtp_listenport=25 //emails not catced with targets are send trough with smpt config smtppassthrough smtppassthrough=smtp.ict@company allowpipelining=true // setup virtual ftpserver [ftpserver] enable=false ip=127.0.0.1 port=21 pasvstart=7000 pasvend=7999 ;user=myftpuser ;password=myftppassword // setup real smtp account, O365 in this case [smtp.ict@company] discardhandledfiles=true smtp_servertype=office365oauth2 smtp_username=ict@company.eu smtp_from=ict@company.eu oauth2_tenantname=company.onmicrosoft.com oauth2_applicationid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx oauth2_clientsecret=XXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // possible conversions: localfolder, smb, smtp2localfolder, smtp2smb, ftp2localfolder, ftp2smb, ftp2smtp, ftp2smtp, smtp2smtp //catch smtp recipient 'localfolder@smtp.local' and put the files to c:\temp\company\smtprelay\localfolder [target.localfolder] targettype=localfolder folder=c:\temp\company\smtprelay\localfolder catchto=localfolder@smtp.local //catch ftp folder 'myftpfolder' and put the files to c:\Temp\company\LocalFolder\Username\X ;[target.myftpfolder] ;targettype=ftp2localfolder ;folder=c:\Temp\company\LocalFolder\Username\X ;;fileexist=deny, overwrite, rename - default overwrite ;fileexist=rename //catch ftp folder 'myftpfolder2' and put the files to c:\Temp\company\LocalFolder\Username\2 // [target.myftpfolder2] targettype=ftp2localfolder folder=c:\Temp\company\LocalFolder\Username\2 //catch ftp folder 'myftpfolder3' and send tje files to Username@company.nl using smtpconfig smtp.ict@company [target.myftpfolder3] targettype=ftp2smtp smtp=smtp.ict@company smtp_to=Username@company.nl discardhandledfiles=true
  3. mvanrijnen

    Strange behaviour Windows VCL app on specific laptop

    Sorry, no problem still exists after that.
  4. mvanrijnen

    Strange behaviour Windows VCL app on specific laptop

    Drivers updates (as well the Intel as the nVidia drivers) Forced the app to work with the Intel GPU (does this work if the app is launched from a "launch app" instead of the explorer?)
  5. mvanrijnen

    Console application - CRT Unit - Console Library

    See: Keyboard identifiers and input method editors for Windows | Microsoft Learn United States-International 00020409 In Ply.Types.pas change TKeyboardLayout from Word to Longword, now is the wrong type. TKeyboardLayout = LongWord; // Word;
  6. mvanrijnen

    Console application - CRT Unit - Console Library

    When i start the move_window demo, i get this effect: (same with other demo's as wel)
  7. mvanrijnen

    Console application - CRT Unit - Console Library

    yes, my library back then, poked right into the videomemory. clocking the windowing functions with a analog stopwatch from my father, checking if i could find somewhere to speed the things up. (my father thought i was somekind of idiot, clocking the timing of putting thousands of random rectangles on the screen 🙂, but then he also was scared when i took his 8000$ company laptop apart 🙂 )
  8. mvanrijnen

    Console application - CRT Unit - Console Library

    nice, for some apps/usecases console beats windows apps. somewhere i have some progressbar code for console also. back at the time i also had a "Painter" application, with which you can design "Screens", export them to ASCI/ANSI, TurboPascal CRT, etc. i get a range check error, on the minimalconsole app demo? Function tConsole.GetKeyboardLayout : TKeyboardLayout; Var pwszKLID : Array [0..KL_NameLength] of Char; begin FillChar(pwszKLID,sizeof(pwszKLID),#0); if (GetKeyboardLayoutNameW(pwszKLID)) then begin FKeyboardLayout := StrToInt('$'+StrPas(pwszKLID)); end else begin FKeyboardLayout := _KeyboardLayout_de_DE; end; Result := FKeyboardLayout; end; On the strtoint('$'+ .... line (pwszKLID = ('0', '0', '0', '2', '0', '4', '0', '9', #0 #0)
  9. Hello, I just had to work on a project for the first time in D11.3, it uses TRestclient against the MSGRaph API. Now i'm getting error 12029, probably some TLS problem, anyone got a quick solution? Tried, .SecurityProtocols := [TLS12, TLS13] etc. not working Running on Windows 11 (21H2), updating to 22H2 right now.
  10. pff found it, there was a proxy server forced in debug mode.
  11. During the Execute of the post to get the token. 'https://login.microsoftonline.com/[clientname].onmicrosoft.com/oauth2/v2.0/token'
  12. mvanrijnen

    search between two dates

    I always use DateOf when assigning a TDate to a date field in a sql query. It's sometimes hard to know if somehow a time part was added to a date value. So just to be sure i do a lot of: (especially when the TDate field/param is in a SQL select statement) procedure DoMyUpdate(const AMyDateParameter : TDate); begin qry.ParamByName('MyDateParameter').AsDate := DateOf(AMyDateParameter); ... end; or if needed (eg in a loop) extract the Date value outside the loop: procedure DoMyUpdate(const AMyDateParameter : TDate); var myRealDateVar : TDate; begin myRealDateVar := DateOf(AMyDateParameter); while i<cnt do begin .... .... qry.ParamByName('MyDateParameter').AsDate := myRealDateVar; inc(i); ..... end;
  13. mvanrijnen

    Is there a Sunday between 2 dates ?

    working on it:) (wait for a batchjob to finish 🙂 so, can play around) UWE's method seems okay though
  14. mvanrijnen

    Is there a Sunday between 2 dates ?

    needs a check for friday-monday
  15. mvanrijnen

    Is there a Sunday between 2 dates ?

    Yes, just experiented in Excel 🙂 pseudo: (DaysBetween(D2, D1) div 7) + ifthen(DayOfTheWeek(D1)=daySunday,1,0) ) + ifthen(DayOfTheWeek(D2)=daySunday,1,0) hmz, one off in some cases. pseudo (2): sundaycount := (DaysBetween(D2, D1) div 7); if (DayOfTheWeek(D1)=daySunday) or (DayOfTheWeek(D2)=daySunday) then sundaycount = sundaycount + 1; back to the drawing board 🙂
  16. mvanrijnen

    Delphi REST frameworks that run on Linux?

    MARS is also (according to: MARS-Curiosity REST Library - Delphi-PRAXiS [en] (delphipraxis.net)) compatible with linux, it seems to work on all Delphi targets so.
  17. mvanrijnen

    Delphi REST frameworks that run on Linux?

    Things like: * RadServer * MARS
  18. Yes would be nice if they changed this to store it at project level. Would like to see this for the debug watches also.
  19. Yes on the last dutch Delphi event from EMB (via Bransten) this was said to. Also they said that EMB is busy with an update so existing MDI apps will still run & function correctly. (i think they gonna implement the parts which MS dropped). see also":
  20. mvanrijnen

    Delphi / TCP/IP Server

    besides the threadsafety and the question if this is the best solution, probably your memo is getting "full", try to limit the total lines in the memo to for example max. 1000lines, and do the update between beginupdtae and endupdate. With which intensivity the clients send data )(e,.g. 100 times per second)? function TFServer.cliInfoMessage(info: TMemo; send, msg: string): Boolean; begin TThread.Queue(nil, procedure begin info.lines.BeginUpdate(); try info.Lines.Append('/' + send + '/' + msg); while info.lines.count>1000 do info.lines.delete(0); finally info.lines.EndUpdate(); end; end); result := true; end;
  21. mvanrijnen

    Delphi / TCP/IP Server

    I'm reasonably sure that you can accomplish this with Indy. You have multiple clients sending data to a single indy server i assume? Maybe you have some memory problems, not correct handling incoming connections and or data?
  22. Would be a possibility for the parts that don't touch/need our BL indeed.
  23. Still running production with the DEV Console, we are (for sure 90%) moving away from RadServer, It gives us no pro's/extra's only problems and con's. We're looking at something like MARS to develop our (micro)services.
  24. mvanrijnen

    File Search

    @programmerdelphi2k I believe the findclose needs to be executed when the findfirst succeeds, otherwise not.
×