Jump to content

Pat Foley

Members
  • Content Count

    440
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Pat Foley

  1. Pat Foley

    General Help Indeed...a long-shot here....

    I suppose the D5 copy is the owner's. My concern are the gas trains meeting ASME codes for the interlocks to work properly.* I been in a plant where an intern changed the overall 16 color scheme and some things quit working. This image is marked up with where to click at to bring the color property editor. Also a text box shows effect of copying a shape control and pasting it into a text editor. * Not jumper wired or modified to prevent Tripping.
  2. Alt method for showing forms is using createparams in the forms. Then you can reinstate the OnTaskbar switch. protected procedure CreateParams(var Params: TCreateParams) ; override; ... // This fixes alt tab issue showing selected form on top! procedure TfrmView.CreateParams(var Params: TCreateParams); begin inherited; Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW; end;
  3. Pat Foley

    General Help Indeed...a long-shot here....

    Yes, but it appears that the dfm was saved in binary. Reading in text editor is enhanced when saving dfm as text. Besides the standard TButton and TControls like VB, Delphi user could build or be provided a custom Control to drop on form (even nonvisual controls). The package or library is *.dpk that puts the Control on the rail and registers the control so IDE "knows" what is dropped in design window. These components are streamed in and their events connected at runtime.
  4. Pat Foley

    General Help Indeed...a long-shot here....

    Check the .dfm files by using a text editor. Most likely the classes you are looking were dropped on the form back in '97. If so, you load those into IDE using package(s) *.dpks before opening the unit.pas The unit's dfm loads with the {$rec *.dfm} directive in the implementation, or the classes could be loaded at runtime If available and pathed as p'2K mentions. I think I have an Omron under the bench somewhere but it uses a 232 port. Sorry. Pat
  5. Pat Foley

    Not Threadsafe??

    I like that I have used just a showmessage when CanClose is false;
  6. Pat Foley

    String literals more then 255 chars

    I am getting weary of 16/9 screens. To get by I use the Tmemo. object Memo1: TMemo Left = 528 Top = 66 Width = 701 Height = 569 Lines.Strings = ( 'SELECT'#65279 'DATE_FORMAT(co.order_date, '#39'%Y-%m'#39') AS order_month,' 'DATE_FORMAT(co.order_date, '#39'%Y-%m-%d'#39') AS order_day,' 'COUNT(DISTINCT co.order_id) AS num_orders,' 'COUNT(ol.book_id) AS num_books,' 'SUM(ol.price) AS total_price,' 'SUM(COUNT(ol.book_id)) OVER (' ' ORDER BY DATE_FORMAT(co.order_date, '#39'%Y-%m-%d'#39')' ') AS running_total_num_books' 'FROM cust_order co' 'INNER JOIN order_line ol ON co.order_id = ol.order_id' 'GROUP BY ' ' DATE_FORMAT(co.order_date, '#39'%Y-%m'#39'),' ' DATE_FORMAT(co.order_date, '#39'%Y-%m-%d'#39')' 'ORDER BY co.order_date ASC;' '' 'end') TabOrder = 6 end From the .dfm
  7. Pat Foley

    Edits not saved??

    When saving said open file in one IDE, the other open IDE when focused will show fileXXX timedate changed update? A Change in the DFM is called a in memory change as well! Doing that will synchronize or import the changes to that IDE. // A change in a custom component needs a little more to see changes in the dfm. Control-b will show the pathed files
  8. Pat Foley

    Methods from Libraries (bpl or pas) in Apps??

    {$WEAKLINKRTTI ON} {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} To get the line count to Lines: 1277, Types: 482, Others: 784 insert above switches in the dpr. This works even on the Emb and Cantu examples.
  9. I have noticed that Delphi adds Ios and Android deploy information even for packages. What switch adds this to .dproj <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/> How to set the unit output for 32 and 64 in a MyPackage? I tried the codegear dslusr and it would not allow dropping the control on a form in 64 mode. Controls could be placed on form in 32 mode though. I removed and made a fresh package that allows the controls to be placed on form. 🙂 And what about Versioning? The following always brings 1.0.0 for myapp. function TptrApps.getVersionasString(inAppName: string): string; var Major, Minor, Build: Cardinal; begin Try Major := 6; Minor := 6; Build := 6; GetProductVersion(inAppName, Major, Minor, Build); result := Format('%d.%d.%d', [Major, Minor, Build]); Except on E: Exception do result := E.ClassName + ':' + E.Message else result := 'Trouble '; End; end; Thanks, Pat
  10. That and reading the link got me running again. In the past Before 11 I tried have design only. I was not recompiling in 64. Thanks Pat
  11. So, when error 2048 shows after switching platforms; Just switching back clears it. Which is pretty cool that 11.3 can recover. The Syntax check magic does not work as well when installing a package. That needs to be compiled to lose the vintage dcus/BPL. In my case ignoring compiler warning about implicit files in a package build results in error 2048. I just don't know how make separate include files for the different platforms and perhaps csDesigning mode bypass so procedure not used in design mode is needed.
  12. When I switch from 64 to 32 I use the syntax check to (alt-p-s) Before the compile. The issue in a package. Pat
  13. I have the opposite problem my *.proj have 40k worth of Ios and Android deployment yuch and I am using VCL and little FMX. However, when switching from 32 to 64 to prevent a bad compile, I use the syntax check Alt-p-s to freshen the DCUs. Also, I try to load forms at runtime to reduce the files needed to be listed in .dpr, .dproj and .dproj.local.
  14. Pat Foley

    Panels and alignment

    Try dropping a ControlwithmarginsSet.AlignWithMargins :.= True and see what happens! // the margin property isn't just for making porting to Lazarus a chore.
  15. Ok New project set as 64 set as release run as debug shows threads show unit works either way 🙂
  16. You must have some camelCase where D likes PascalCase best. I able to drill in Control select with program running. It takes a day or two of pruning the write cache and reboot or two for changes to keep. Big jobs usual have dcu units paths set.
  17. Guess 1. windows freshens memory shuffle for big program that is grabs files from the files needing to written to disk 3.5 gigs on my machine. This feature saves say 3 minutes on reboot buts retains the cache wreck 😞 Fix Kill some msedgebrower.x off vs reboot Guess 2. Windows swap file uses compressed memory. This compressed memory is shuffled in/out? on big job. Fix shut off the swap file. Guess 3. Run apps like D and edge in full screen so Windows can manage memory for running apps better. Knowing the above in 64 yields a running program with clickable menu items in Ide. Here's what I did to find a problem switching to win11 machine I must have set build with runtime packages under packages. clicking find unit under Refactor yields what the IDE knows. The center forms show before after. Guess 4. ctrl Mouse down is to be shut down when App is running? IDE He (or She let's say D for Diapered) must think the program is compiled and running! This is on win 11 D11.1
  18. Pat Foley

    Create Form

    You could try this if you want a form without a dfm.  MyForm := MyForm.TCreateNew(Self); //was MyForm := MyForm.Create(Self); // defaultDataGrid := Tdbxx.Create and set //Note add alignment after pix Otherwise just autocreate your cardform. As other's have mentioned what is it. procedure TfrmGettingStarted.Button3Click(Sender: TObject); var boardForm:TForm; boardGrid: TDBGrid; begin boardForm := TForm.CreateNew(Application); boardGrid:= TDBGrid.Create(boardform); boardGrid.Parent := boardForm; boardGRid.Align := alClient; boardGrid.DataSource := dsProducts; boardForm.Show; boardGrid.Show; end;
  19. Pat Foley

    Create Form

    procedure TfrmGettingStarted.Button1Click(Sender: TObject); var grid, grid2: TDBGrid; //refs to grid instances in forms` Pop2: TformPop; //for example purposes begin grid := formPop.grdProducts; //2 //allready did 1 grid.DataSource := dsProducts; //3 hookup //grid.Show; //not working in 11.1 grid.Parent.Show;//4 Pop2 := TformPop.Create(Application);//1 grid2 := Pop2.grdProducts; //2 grid2.DataSource := dsCategories;//3 //grid.Show; grid2.Parent.Show;//4 end; My thoughts are to change the Quoted to something like the above. 1. make the forms h 2. Add data grid references to DM at start up. 2.1 grid2.magically adjusts to data source some how 3. Set date grid reference data source. 4. Show using parent lets the DM to not need these forms in uses clause! It only needs to know what DBgrid is. 5. Ewe has blog articles on the nuances needed using DM with multiple edit forms~ This example just shows the data. 6. Added to an Example in Samples to verify.
  20. Pat Foley

    Warnings after Build/Compile

    white space is ignored. Change a line of code and see what happens or add a method or Property to get a full rebuild. Besides allowing the IDE to compile only the changed code only the warnings in the unit recompiled will be lit. It would nice though if the mapfile viewer would get the measles for warnings like VS.
  21. Pat Foley

    How to open a file in the already running IDE?

    Why not catch caption. Don't tell anyone I'm working up a log program 12/6/2022 6:26:47 AM= Windows.UI.Core.CoreWindow Windows Default Lock Screen 12/6/2022 6:26:54 AM= Shell_TrayWnd 12/6/2022 6:27:09 AM= TMain Main 12/6/2022 6:28:29 AM= TAppBuilder ProgramLogger - Delphi 11 - AppMain [Running] [Built] 12/6/2022 6:29:38 AM= TMain Main 12/6/2022 6:29:39 AM= TAppBuilder ProgramLogger - Delphi 11 - AppMain [Running] [Built] 12/6/2022 6:30:28 AM= Chrome_WidgetWin_1 View program flow and calls to help understand code? - General Help - Delphi-PRAXiS [en] and 3 more pages - Personal - Microsoft? Edge
  22. Pat Foley

    View program flow and calls to help understand code?

    That kind of looks like DFM source. If you start in debug layout the Stack Trace and local variables on left slide outs could looked at breakpoints set. The VCL uses component streaming to build the IDE design window these components are streamed into the compiler to make an executable. The following example would be pasted on a form. Click on Button1 and assign a click event. compile the program. Copy all the text in memo and paste onto form in IDE design. Stop the exe and recompile. Try the Hello button it will be hooked to your button1click. Note may to remove margin=4 on older D Another feature is using control key down and mousedown on TForm will drill down to TObject. object Panel1: TPanel Left = 380 Top = 70 Width = 371 Height = 341 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Caption = 'Panel1' TabOrder = 0 object Button1: TButton Left = 140 Top = 250 Width = 94 Height = 31 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Caption = 'Button1' TabOrder = 0 OnClick = Button1Click end object Memo1: TMemo Left = 90 Top = 20 Width = 231 Height = 111 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Lines.Strings = ( 'object btn5000: TButton' ' Left = 140' ' Top = 250' ' Width = 94' ' Height = 31' ' Margins.Left = 4' ' Margins.Top = 4' ' Margins.Right = 4' ' Margins.Bottom = 4' ' Caption = '#39'Hello'#39 ' TabOrder = 0' ' OnClick = Button1Click' 'end') TabOrder = 1 end end
  23. Pat Foley

    form data store component ?

    1. Use meminifile.setstrings(default Strings to load program when external data not found) 2. The exe carries all the modes publish, editor, writer. The inifile and email of user loads the controls needs for that user. 3. The controls are bound when the program reads the "script". Bottom up or data driven loading. I used Expression parser by Egbert van Nes. 3 times easier than JS and CSS. Plus that pseudo business 4. The EventLeader waits for callbacks from remote API to update the UI. 5. Time Estimate TE 10 hrs. but building each form as exe and setting into app saves 1 hour per unit * 4. The eventLeader sheds its skin with a dot {.R *dfm} and classed as TwinControl was TForm. 1 hour plus 1 hr to write the script for each task's controls and interactions. Ability to adjust in the field without a recompile is worth a few hours. Scott Hanselman's blog might be a good source for info on running and setting web site.
  24. Pat Foley

    Windows VCL application pauses when window is not focused...

    Gamers and workers use various apps to keep windows up. Not sure of safety of something off the web.
×