Jump to content

Anders Melander

Members
  • Content Count

    2563
  • Joined

  • Last visited

  • Days Won

    134

Everything posted by Anders Melander

  1. Nice. I've been using the following to post the status of our Bamboo build jobs (it's a PowerShell script) but I've been thinking about adding Teams notification to some of our automated test tools and your example will come in handy there. $uri = 'https://outlook.office.com/webhook/yadayadayada/IncomingWebhook/yadayadayada/yadayadayada-yada-yada-yada-yadayadayada' if("${bamboo_buildFailed}" -eq "true"){ $status = 'Failure' }else { $status = 'Success' } $body = ConvertTo-Json -Depth 4 @{ title = 'FooBar Build Notification' text = "Build of FooBar version ${bamboo.fileVersion} completed with status $status" sections = @( @{ activityTitle = 'FooBar Build' activitySubtitle = '${bamboo.buildKey}' activityText = 'The build of ${bamboo.planRepository.branchName} ${bamboo.planRepository.revision} completed.' activityImage = 'https://pbs.twimg.com/profile_images/1128664840233525248/T3YNFtIt_400x400.png' }, @{ title = 'Details' facts = @( @{ name = 'Branch' value = '${bamboo.planRepository.branchName}' }, @{ name = 'Revision' value = '${bamboo.planRepository.revision}' } ) } ) potentialAction = @(@{ '@context' = 'http://schema.org' '@type' = 'ViewAction' name = 'Click here for details' target = @('${bamboo.buildResultsUrl}') }) } Invoke-RestMethod -uri $uri -Method Post -body $body -ContentType 'application/json'
  2. Anders Melander

    Listview control with filtering like File Explorer

    It's so easy to throw a statement like that out there. Have you thought about the consequences of having the VCL maintained by a bunch of amat^H^H^H^H enthusiasts that are stuck on Delphi 7? Look at the JVCL if you're in doubt of what that would look like. If you want open source there's plenty to choose from already.
  3. Anders Melander

    Alpha Controls support for LMD Tools??

    Excellent question... for the AlphaControls forum: https://www.alphaskins.com/forum/
  4. Anders Melander

    "Debug process not initialized."

    Did you work in IT support before you became a developer? Every time I contact our IT department because there's something wrong with one of the servers, the first thing they ask me is to "restart windows". I've given up on educating them so now I just pretend. My current uptime is 118 days. Try disabling the MadExcept "IDE exception catching". Just to eliminate MadExcept as the cause.
  5. Anders Melander

    Compiler: Endless loop

    Try building with MSBuild (Project Options, Building, Delphi Compiler, Use MSBuild externally to compile). My current client have several projects that fail during compile with internal errors unless we use MSBuild. Wouldn't that be a linker issue then. This looks like a compiler issue.
  6. Anders Melander

    how to classify and match error message patterns?

    It sounds more like you're rubber ducking.
  7. Anders Melander

    Large address space awareness. How to test properly?

    Dudes. I'm not stupid. I'm not saying that it's good practice only that it's safe to cast between pointer and integer. The OP said that this was for 32-bit only so bringing 64-bit into the equation is also irrelevant. Thanks for playing.
  8. Anders Melander

    Large address space awareness. How to test properly?

    As long as it doesn't do "pointer math" on the integer value then there shouldn't be problems casting between integer and pointer.
  9. Anders Melander

    A bit confused about SVG

    You don't need to but you can. It's not really a SVG imagelist. It's an imagelist that also supports SVG meaning it can contain SVG, PNG, BMP, etc. This also mean that you can have one imagelist for low-res containing a mix of SVG and PNG and another for hi-res. I find that PNGs are often better for small (e.g. 16x16) low-res images.
  10. Anders Melander

    A bit confused about SVG

    You can only assign one imagelist at a time but if you've named your imagelist according to their instructions then they will switch between the different ones automatically. If you're using SVG then you only need one imagelist.
  11. Anders Melander

    GUI automation tool for Firemonkey apps ?

    Amen to that. I've been involved in attempts to implement GUI testing using TestComplete three times in three different companies. Each time the project (the GUI test part) was abandoned after using massive amounts of resources writing and maintaining the test scripts (and by massive I mean several man years). How are one ever going to keep up if it takes a test engineer hours to update the tests for every small UI, workflow or timing change a developer makes. It's much more feasible to write test instructions and have the QA department do the tests manually. They can use TestComplete and the like for simple keyboard/mouse record/playback but the result verification is done manually. I remember a place where we outsourced the testing to an Indian company. I was quite impressed by the amount of bugs they initially found with no domain knowledge whatsoever and very little knowledge about how the application was supposed to work. From what I could see from the bug reports they had simply tried pressing every possible key combination or just smashed their hand into the keyboard in every single dialog. They found "features" we didn't even know we had. It made me think of the infinite monkey theorem. I have yet to see automated GUI test implemented successfully anywhere.
  12. Anders Melander

    How to detect when control is scrolled into view

    Something like this? (untested, just a guess) interface type TMyFrame = class(TFrame) private FHasLoaded: boolean; protected procedure PaintWindow(DC: HDC); override; procedure DoLoadFrame; end; implementation procedure TMyFrame.PaintWindow(DC: HDC); begin if (not FHasLoaded) then DoLoadFrame; inherited; end; procedure TMyFrame.DoLoadFrame; begin FHasLoaded := True; // Do load stuff here... end; Of course the frames has to be created before they can be scrolled into view but you can defer loading the frame content. I would probably solve the problem in a different way but I think the above does what you asked for.
  13. Anders Melander

    DEC (Delphi Encryption Compendium) has a new home

    The first point of entry is the readme. If the readme doesn't convince a potential user then I'm pretty sure they won't bother with the source. We're all busy. Why should you care? Because more users means more people that are likely to contribute.
  14. Anders Melander

    ANN: Better Translation Manager released

    Select the language in the Target combobox. If you click the small button below the combobox you'll get a dialog where you can enable an options that filters the list of available languages: Note that, even though your project can contain translations for multiple languages, you can only edit one language at a time.
  15. Anders Melander

    Vote for SAST support for Delphi in GitLab

    I doubt most of us would benefit from this feature:
  16. After the last 4 years nothing about him surprises me much anymore
  17. How do you make calls then? I still have a land line but I haven't had any phones connected to it for ages. I guess I should cancel my subscription one of theses days . On the other hand, you never know when it'll come in handy; Zombie apocalypse, Skynet becomes self-aware, Trumps second, third and fourth term...
  18. And there's even a medical term for it: Rigor Mortis No but seriously, I'm not that young myself, but once you start not learning new stuff your cognitive abilities will deteriorate: Use it or Lose it. Your brain will create new neurons your whole life as long as you give it reason to. Luckily the brains plasticity means that a decline is reversible. Just give your brain some exercise.
  19. The only general advice I can give is: Convenience or Performance? Pick one. I won't get into this discussion about which of the many different data types can solve your problem best, because your requirements seems rather fluid and it's impossible to give any targeted advice, when we don't know anything about the specifics. I'm puzzled why one would even be asking a question like this other than to pass time. If the implementation details are important you shouldn't rely on something someone said on a forum anyway. Try different solutions and benchmark them. If none of the solutions are good enough then there will be something to discuss. Disclaimer: I've been up all night and I'm on my eight cup of coffee.
  20. Anders Melander

    Olevariant and memory leak

    Yes you're right. That's what I get for thinking I can remember issue numbers while watching a Counter Strike match..
  21. Anders Melander

    Olevariant and memory leak

    That was the performance issue. RSP-14749 was the leak. But as Dave suggested, the change in ComObj probably fixed both.
  22. Here's my VCS journey, as I remember it: 1994: MKS Source Integrity 1997: StarBase Versions & StarTeam, PVCS and CVS 1999: Borland TeamSource & Visual SourceSafe 2004 Borland StarTeam 2008 SVN 2018 Visual Studio Team Services 2019 Git Of these VSS and VSTS were bad but PVCS was horrible. Borland TeamSource is best forgotten.
  23. Reminds me of the time I tried to teach the great grandparents to use a mobile phone...
  24. Anders Melander

    Tbutton Flashing

    Yeah. There's a reason we don't have <BLINK> in HTML anymore. P.S. I just tried googling "blink html"... WTH? Do they think they're clever? Okay they're a bit clever because if you google "html blink" the result differs subtly.
×