Jump to content

Mark Williams

  • Content Count

  • Joined

  • Last visited

Community Reputation

12 Good

Technical Information

  • Delphi-Version
    Delphi 10.4 Sydney

Recent Profile Visitors

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

  1. Mark Williams

    TFileStream fmShare modes

    Thanks. I didn't read the help file properly!
  2. I create/open a TFileStream in non-exclusive mode with the following code: if not FileExists(FileName) then //have to create it first and close it otherwise the share mode does not work!! begin Result := TFileStream.Create(FileName, fmCreate, fmShareExclusive); Result.free; end; Result := TFileStream.Create(FileName, fmOpenReadWrite, fmShareDenyNone); By my reckoning I should be able to open the file in read only mode: fs := TFileStream.Create(FileName, fmOpenRead, fmShareDenyNone); But it throws up an EFOpenError ie file in use by another process. I have looked online and found old posts which suggest that the share modes do not function for fmCreate mode ie always created exclusively and that is why I create, then close and then open. There was a post around 2010 which suggested the issue had been reported to Embarcadero and that it had been closed as fixed. Couldnt find anything much later than this. However as you can see , my problem is not with fmCreate, it is with fmOpenReadWrite. is there a bug with TFileStream or am I handling this in the wrong way? If there is a bug, does anyone know a work around?
  3. Mark Williams

    Problems changing database with pooled connection

    It has taken me an age to get back around to this, but I have finally uncovered the problem. It was not with FireDAC but my code.
  4. Mark Williams

    FireDAC Array DML returning values from inserted records

    Good to know thanks, but would be a bit of a major shift for me from FireDac to Zeos
  5. Mark Williams

    FireDAC Array DML returning values from inserted records

    Sorry, I though I had posted the SO link. It is FireDAC Array DML and Returning clauses - Stack Overflow
  6. Mark Williams

    FireDAC Array DML returning values from inserted records

    Sorry I misunderstood. What is SA?
  7. Mark Williams


    Well I've not seen that site before today! Yes, it is annoying and pointless. I have made a note of the site for future reference. Of course, by the time I get around to looking at it, it will probably have moved somewhere else with n forwarding link.
  8. Mark Williams

    FireDAC Array DML returning values from inserted records

    http://FireDAC Array DML and Returning clauses - Stack Overflow
  9. Mark Williams


    I'll probably be dead by then!
  10. Mark Williams


    It's the same page as I get to via https://idera.secure.force.com/CG/. Still doesn't accept my credentials. But why all the different domains and different log ins required? It doesn't make any sense to me.
  11. Mark Williams


    It seems to me that the Embarcadero web site(s) are a complete mess. I manage to find a resource one day and it's gone the next. As examples, I was advised to use https://idera.secure.force.com/CG/ to get to Quality Portal. I managed to get in to the Portal earlier this year and make a feature request, I returned to view it today and when I click on the Quality Portal link, it wants my username and password again, but not the same one. It wants the username and password for the Registered Product Page. Incidentally, this page also has a link for Registered Product, which takes a lifetime to load and is out of date! I use this link https://members.embarcadero.com/Login.aspx?returnurl=http%3a%2f%2fcc.embarcadero.com%2fmyreg to access Registered Product, which works. However, the username and password I use to access Registered Product does not work for Quality Portal because it won't accept an email as a username it wants your "real" username and I have no idea what that is. Tried a couple of options and none of them work. Is it just me or is this a complete mess? And is it beyond the wit of man to put links for all resources we need on one consistent web page with one username and password?
  12. Mark Williams

    FireDAC Array DML returning values from inserted records

    It's a bit frustrating and I have also posted on Stackoverflow, but nothing has come back. I have logged a feature request at Quality Portal. I would give you the link, but for some reason my log in details no longer work. If you could comment on that to lend support that would be great. That's assuming you know how to get in to it. I tried today, but my details no longer work!
  13. Mark Williams

    Email Tampering

    It's not for filtering purposes. It is for a system that will store documents/resources including emails. When users are examining email threads I simply want to highlight that there may be something suspicious about one of the emails in the thread not exclude it from the thread. So if in 99% of the cases a Date header later than the Received header is suspicious that works for me. Perhaps my original question was unclear and answers have been given on the basis that I was looking to exclude such emails. Far from it, I am looking to highlight them. With that in mind perhaps I can ask my original question again. What sort of time difference by which the Date header is greater than the first Received header would you consider suspicious? I have opted for 30 minutes, but presumably there is an argument to say any difference is suspicious as I would expect most users' computers' and servers' clocks are automatically set.
  14. Mark Williams

    Email Tampering

    Thanks for the responses. Hadn't though of delayed sends. What I'm trying to catch is someone setting the date on their computer to a date in the past and sending an email to make it appear as though it was sent earlier than it in fact was. I haven't come across this, but surely if the Date header is later than the Received header someone's clock someone is showing the wrong time?
  15. Mark Williams

    Email Tampering

    Apologies in advance as this isn't really an Indy question, but not sure where else to ask it. I have written functions to batch parse information from emails. I would also like to be able to flag up possible suspicious activity such as date tampering. One of the things I am looking at is the difference between the date time in the Date header and the date time of the first Received header. If there is a significant difference between the two then I will flag the item as suspicious. However, I am not sure what would be a significant time difference to warrant flagging. Anything more than a few minutes strikes me as too long and my initial view is to opt for about 30 minutes. Views as to whether that sounds sensible would be appreciated.