Jump to content

Ian Branch

Members
  • Content Count

    1431
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Ian Branch

  1. Ian Branch

    Ummmm. What!!

    D12 + Patch. I just double clicked on the FormShow event of a Form to create the event. I got a "Cannot find implementation of method FormShow.: error. I checked, the declaration is in the Form Class and the procedure is in the code. Huh?? I added some code into the FormShow procedure but it doesn't run. I don't get any error messages. Any thoughts/suggestions?? Regards, Ian
  2. Ian Branch

    Ummmm. What!!

    I backtracked through the versions and found that three developed the issue in mid January and one in mid Dec. Doing the usual file comparisons, I couldn't find a change/difference in the sour dfm files. 😞 All restored now and working as desired. Thanks for looking. Ian
  3. Ian Branch

    Ummmm. What!!

    Update - I just went through the 30 projects in the ProjectGrp. 4 projects are exhibiting the issue. 😞 I guess that narrows it down to what do those 4 have in common....
  4. Ian Branch

    Ummmm. What!!

    Hi Dave, No it didn't happen on a new project. And it isn't happening on/in all my projects in the proj Gp. But it is happening in more than one. 😞 I can't really post the form/project as it has 3rd Pary components on it and there is proprietary information in it. Whilst I could mask the information, it would still be dependant on you having the 3rd Party components to open the unit. What's a little more annoying is that I don't know how long this 'isssue' has existed and therefore how long existing FormShow procedures in the relevant Apps hasn't been functioning. 😞 Ian
  5. Ian Branch

    GetIt installation does not work

    My KSVC update seemingly installed OK but when I went to update my project it couldn't find some KSVC components. I had to de/re install KSVC and all was good. Does anybody know what the KSVC update changed/updated? Regards, Ian
  6. Hi Team, D12. What would/could prevent me being able to widen my MainForm? There are no Constraints and the form is sizable. It is a Normal form. I can change the height OK, but not the width. 😞 Any thoughts/suggestions appreciated. Regards & TIA, Ian
  7. Ian Branch

    Mainform won't change width...

    Found it! One of the components on the form ahd constraints for some reason. All fixed now. Thanks to all for your input. Regards, Ian
  8. Ian Branch

    Mainform won't change width...

    Hi Brian, I could be wrong, this is not in code, this is in the IDE at Design time. Ian
  9. Hi Team, Books have been written about what I don't know about threading... 😉 I have experimented with Anonympus threads. Is it possible to prevent the App doing anything except being moved, and parhas resized, while a thread is running? Regards & TIA, Ian
  10. Ian Branch

    Preventing and allowing things to happen in a Thread???

    Because I still want them to be able to move and resize the App/Form while the thread is running. If I do it in the main thread the form becomes unresponsive.
  11. Ian Branch

    Delphi 12: Invalid class typecast

    Well done to Uwe, Peter, & any others, for seeing this issue through. Ian
  12. Ian Branch

    Procedure/Function Commenting..

    Hi Team, Like most of us I have my own local pattern procedure/function library. I have been commenting them like this: What this gives me then is a dropdown when I hover over the procedure/finction in my code that looks something like this: All very handy and a useful reminder of the procedure/function definition. I forget where I got this from. 😞 Can somebody point me to where this style of documentation/technique is documented please? Regards & TIA, Ian
  13. Ian Branch

    Procedure/Function Commenting..

    They don't appear to have a D12 version yet. 😞
  14. Ian Branch

    Procedure/Function Commenting..

    Excellent! Thanks Dalija. Regards, Ian
  15. Of course, all of this is dictated by available Budget and/or Risk/Impact analysis.
  16. Here's a thought. What impact, if any, has this outage had on the next update to D12??
  17. Ian Branch

    Testing a Semaphore??

    Hi Team, Delphi 12. I am trying my hand at Semaphores. Never touched them before this. ATT I have the following code: // // Create the named semaphore (if it doesn't already exist) GlobalSemaphore := TSemaphore.Create(nil, 1, 1, 'DBiAdminSemaphore'); // try // if GlobalSemaphore.Acquire then begin I understand that if the Semaphore 'DBiAdminSemaphore' already exists, it won't be created again. If it already exists, I want to test for its existance, hence the thought of Acquire, but it seems Acquire doesn't return a Boolean. How do I test if the Semaphore already exists? The objective here is to prevent the following code exceuting if the Semaphore exists. Regards & TIA, Ian
  18. Ian Branch

    Testing a Semaphore??

    Hi Jon, Tks. The code is in the MainForm.FormShow Event. The App is accessed by multiple Users via ThinFinity (WEB), RDP & LAN. If one of the App has the GlobalSemaphore created, I don't want any of the other Apps running this piece of code. I don't know that I need to use Acquire at all? If WaitFor(1) works as suggested, I will be fine. Regards, Ian
  19. Hi Team, I have a table with a blob field that contains jpeg files of approx 256kB size. I want to reduce their size to around 128kB size. Thus reducing the overall table size. Iterating through the table isn't an issue, I need to read the image, reduce its physical size then write it back to the field. Preferably without too much degradation. Thoughts/suggestions appreciated. Regards & TIA, Ian
  20. Ian Branch

    wuppdi Welcome Page for Delphi 11 Alexandria?

    Hi Guys, FWIW, I am using both without issue in D12. Ian
  21. Ian Branch

    docwiki

    Getting to be a habit... 😞
  22. Ian Branch

    Character Problem

    No need to apologise, we have all done something like that in our lifetimes.....
  23. Ian Branch

    Screen Capture a Form??

    Hi Team, Need some help. Using D12, 32bit App. I would like to capture just the current form, in some format, and send it to the clipboard, so the User can then paste it into an email. I found this code: procedure TMainForm.CaptureDialogToClipboard(WindowHandle: HWND); var dcWindow: HDC; dcMem: HDC; bmp: TBitmap; begin dcWindow := GetDC(WindowHandle); try dcMem := CreateCompatibleDC(dcWindow); try bmp := TBitmap.Create; try bmp.Width := GetSystemMetrics(SM_CXSCREEN); bmp.Height := GetSystemMetrics(SM_CYSCREEN); SelectObject(dcMem, bmp.Canvas.Handle); PrintWindow(WindowHandle, dcMem, PW_CLIENTONLY); // Adjust options as needed Clipboard.SetAsHandle(CF_BITMAP, bmp.Handle); finally bmp.Free; end; finally DeleteDC(dcMem); end; finally ReleaseDC(WindowHandle, dcWindow); end; end; Which I think will do the job, but I can't find out where/how PW_CLIENTONLY is declared/defined. What unit do I need to add??? Regards & TIA, Ian
  24. Ian Branch

    Screen Capture a Form??

    Hi Team, I came across this code and it works straight-up. I just need to do some tweaks: procedure ScreenShot(activeWindow: bool; destBitmap: TBitmap); var w, h: integer; DC: HDC; hWin: Cardinal; r: TRect; begin if activeWindow then begin hWin := GetForegroundWindow; dc := GetWindowDC(hWin); GetWindowRect(hWin, r); w := r.Right - r.Left; h := r.Bottom - r.Top; end else begin hWin := GetForegroundWindow; dc := GetDC(hWin); w := GetDeviceCaps(DC, HORZRES); h := GetDeviceCaps(DC, VERTRES); end; try destBitmap.Width := w; destBitmap.Height := h; BitBlt(destBitmap.Canvas.Handle, 0, 0, destBitmap.Width, destBitmap.Height, DC, 0, 0, SRCCOPY); finally ReleaseDC(hWin, DC); end; end; procedure TMainForm.Button1Click(Sender: TObject); var path: string; b: TBitmap; begin // b := TBitmap.Create; try ScreenShot(TRUE, b); Clipboard.SetAsHandle(CF_BITMAP, b.Handle); b.SaveToFile(GetDesktopPath + 'Screenshot_1.bmp'); finally b.FreeImage; FreeAndNil(b); end; // end; Thank you all for your input. Appreciated. Regards, Ian
×