Jump to content

Pat Foley

  • Content Count

  • Joined

  • Last visited

  • Days Won


Pat Foley last won the day on August 9

Pat Foley had the most liked content!

Community Reputation

42 Excellent

1 Follower

Technical Information

  • Delphi-Version
    Delphi 11 Alexandria

Recent Profile Visitors

1688 profile views
  1. Pat Foley

    I need a foldable/collapsible panel

    CategoryPanel or Tabsheets in pagecontrol with tabs left side. Or try the samples in /Samples for ideas. Ray K site https://delphibydesign.com/ has a few samples under downloads. I look at his generics samples from time to refresh how generics and even how to set earlier object list code.
  2. My concern is this about every 15 years https://interestingengineering.com/science/genes-renamed-to-stop-microsoft-excel-from-mistaking-them-for-dates
  3. The trouble with memo need to set word wrap to false to track lines. Here's a way to simply output to image or Paintbox. Painting StringGrid is above my paygrade. To call it pass self and a canvas when the view or the data is changed. procedure DrawCanvasPat(Sender: Tobject; Canvas: TCanvas); begin with Canvas do begin Pen.Width := 3; for var C in [0 .. 9] do // := Low to High do FAD here begin var R := 0; var fields := ['First', '', '', '', 'Mid', '', '', 'H', '', 'Last', 'Ten']; // ShowMessage(fields[0]); TextOut(C * 45 + 45, R + 23, fields[C]); for R in [CSVHeaderTopLine .. 9] do begin var value := (Random(20) - 10); if value > 0 then Pen.Color := clGreen else Pen.Color := clRed; Rectangle(C * 45 + 60, R * 23 + 30, C * 45 + 64, R * 23 + 33); TextOut(C * 45 + 45, R * 23 + 23, value.ToString); // ColorDrawItem2(sgUI, sgUI.Canvas,cellValue.tostring,Lrect,TRue); end; end; end; end;
  4. Pat Foley

    Is it worth resubscribing now?

    chiefly for the WSL stuff, that would allow learning/running Linux faster than running a Linux box? That was two days ago now I want buy a box to run win pro 11 on it to learn if remote debugging on windows 64 machine using a windows 32 machine would allow faster recompiling. Still there is regret that I didn't jump on the 20% discount(When I bought the D10.2 with mobile on sale 2000 days ago. In a month found a newer computer to install it on by then 10.3 was available.) Raspberry Pi it's just another mouth to feed not in the money involved but in time used in learning curve of what works and how it works. Learning Python first maybe best for Linux development getting the Pi aspect for free that's my new plan. For windows I think I deserve a p16 or even an HP.
  5. Pat Foley

    Is it worth resubscribing now?

    I thinking to 'upgrade' to Enterprise I been able to debug over one screen vs two screens, 11.3 is as lithe and cat quick like D3.
  6. Pat Foley

    When will we have a 64-bit IDE version ?

    So uncheck save manually then compile or build for a 'line count'.
  7. Pat Foley

    When will we have a 64-bit IDE version ?

    Is the IDE set to save files on a compile? Does the error change to corrupted memory when compiling in 64 bit. I have 1.4 Compressed memory even with 8.2 available so I may reboot the machine to clear the Compressed or swap pages out this week. MS fixed some issues doing away with recently used file time line but putting the swap file back in is maddening
  8. Pat Foley

    Migrate an old app in Delphi 2009 to modren C++

    Start with a plan then! Good luck comes from months of careful planning. What about the database, the servers etc. For now, log the bugs to determine if the problem is data entry, codebase, or database design and queries used. Only should then you recompile the hpp files made in Delphi into C++.
  9. Pat Foley

    When will we have a 64-bit IDE version ?

    Just because a large number of people do something (Windows/MSDOS), does not make it right (MAC OS crew view). Legacy support is lost in the Mac world a publishing program upgraded to the new flavor of Mac would happily wreck any book at page 65 or so. Android Studio needs to run on Linux for good connection to google when it's working your phone over. It does have a Web app option now. Visual Studio issues warning do not set root to internet on Linux. plus learning javascript. Boo! Lazarus I been unable to load on Linux for one, plus it's just a bunch of windows like D1-7.
  10. Pat Foley

    When will we have a 64-bit IDE version ?

    Simply reinstalling a reworked package before compiling the program using it is a must!
  11. Pat Foley

    Delphi has stopping on break points and exceptions

    I am using 11.3 a big improvement over 10.4 until the blue moon last month. Then the IDE began doing disappearing act like 10.3, after "upgrading" an event in a control in a package. In short recompiling my package of custom controls fixed the issue(s). Looking at the output messages after a compile I may shut down the OneDrive business if the IDE crashes while hovering over the Search menu again.
  12. One way to learn Stream is: Add a TMemo to a form in the Designer. Add lines of text to Memo1 in ObjectInspector usings Lines property editor. Select the Memo1 in design and cut/paste into notepad. Tinker with property settings streamed out in notepad. Stream the adjusted Memo1 back into the designer by pasting notepad text. Wow. Next lesson Place cut out of design window into code by pasting inside a buttonclick. modify the pasted so the runtime creates the memo at runtime.🙂 ... Database can use record with fixed string size on one hand and can use JSON for streaming needs. TStream used like TStrings in procedure arguments. MS is passed as a TStream in the TreeView.SavetoStream. procedure TForm3.Button5Click(Sender: TObject); var MS: TmemoryStream; begin MS := TMemoryStream.Create; Try TV.SaveToStream(MS); // TV isa TreeView MS.Position := 0; Memo1.Lines.LoadFromStream(MS); Finally MS.Free; End; end;
  13. Pat Foley

    ProcessMessages doesn't seem to update controls

    Here's a pascal example that simply replaces ProcessMessages with custom "message" calls to allow the sleep delays. assign this ClickEvent to several buttons onclick Event. I would look media player source for dealing with updating several buttons state. implementation {$R *.dfm} const Clickable = True; // alias for enabled = True procedure ButtonEnable(button: TButton; const aCaption: string; const isEnabled: Boolean); //inline; begin if button.Enabled <> isEnabled then button.Enabled := isEnabled; if button.Caption <> aCaption then button.Caption := aCaption; // button.Enabled := isEnabled; order matters //Button.Repaint; // end; procedure SnoozedButton(button: TButton; MS: Integer); //inline; begin ButtonEnable(button, 'Snoozed', not Clickable); Sleep(MS); end; var inUse: Boolean = False; procedure TForm15.DealButtonClick(Sender: TObject); begin if inUse = not False then exit; inUse := True;//Sender as TButton; SnoozedButton(Sender as TButton, 3000); ButtonEnable(Sender as TButton, 'Hit me', not Clickable); Sleep(1500); (Sender as TButton).Caption := 'Hitted'; sleep(1500); sleepControl(Sender, 2000); // Event driven call ButtonEnable(Sender as TButton, 'Deal', Clickable); inUse := False;//nil; end; procedure TForm15.sleepControl(Sender: TObject; const MS: Integer); begin var button := Sender as TButton; ButtonEnable(button, 'Sleeping', not Clickable); Sleep(MS); ButtonEnable(button, 'Stay', not Clickable); Sleep(MS); end; I think that's a feature🙂. I would like the showhint to work when the button is disabled.
  14. Pat Foley

    Delphi has stopping on break points and exceptions

    More checks The provenance (path) of used units found in hint box showing when mousing over tabs over unit tabs in code window or control tabs on the component bar. Then the transactions in .proj.local can be looked at. These transactions log when units renamed or who knows. Try syntax check or build all from time to time can't hurt!
  15. Pat Foley

    Delphi has stopping on break points and exceptions

    Try clicking Debug in Project manager, first. Be sure the compiled lines have blue dot in left gutter. You may be able to click on lines in the call stack in in debug layout. This backs up the procedure calls in the code window.