Ian Branch
Members-
Content Count
1352 -
Joined
-
Last visited
-
Days Won
3
Everything posted by Ian Branch
-
So, I shut my modem/router down for a couple of minutes and I still got the intermittent error. First time it errored, the second it didn't. That suggests something else is afoot... I really would prefer it to be consistent, i.e. happen all the time, then I have a better chance of isolating it.
-
Hi Dave, No I didn't. It didn't occur to me that component packages would be doing what was possibly an online version check. This would be problematic if you weren't online. Actually the whole version check, if done online would be problematic if not online. Ian
-
wuppdi Welcome Page for Delphi 11 Alexandria?
Ian Branch replied to PeterPanettone's topic in Delphi IDE and APIs
@Daniel Whither goest WUPPDI for D11?? -
Parnassus Bookmarks for Delphi 11 Alexandria?
Ian Branch replied to PeterPanettone's topic in Delphi IDE and APIs
It was an error dialog. No, I don't have a screen shot. Windows 11. Delphi 11.1.1. I clicked the error dialog and the old Delphi closed and the new came up. Just to be sure all as OK I closed and restarted Delphi. No issues since. -
Parnassus Bookmarks for Delphi 11 Alexandria?
Ian Branch replied to PeterPanettone's topic in Delphi IDE and APIs
Bookmarks installed. The restart had a failure but closing & restarting all fine now. -
Noted. Tks.
-
Hi Bill, I am pleased. What was it? Ian
-
Ummm. OK. Then I am out of my depth. I have never created a ret programmatically. I would suggest getting on the RB Forum and asking there.
-
No. Umm. Are you creating the report totally in code or using a version of the Users App?
-
OK. Difficult to debug like this. Can you send me the .tmp file?
-
It is possibly this parameter..
-
HI Bill, It suggests that the Detail data isn't being traversed and is reporting just the first record. If the record you are seeing is in fact the first record, then.. a. Check your filter/query. b. Check the Traversal parameter for the Detail row. Ian
-
I opened my mouth before engaging brain... That is for Bill to test/confirm.
-
Ahhh. OK. I don't think I have ever set it to true.. Well done.
-
Hi Bill, As a confirmation of the 384, put a DBCalc counter in the Summary that counts the number of records in the Detail. Care to share an image of the design layout?
-
Is that 'row' in the ^ Detail row of the report??
-
Hi Team, thank you for your inputs. I am using D11.1.1, Win 11 64 bit. I freely confess I am playing in/with something I know nothing about and don't expect to need again. I found an article from 'The road to Delphi', https://theroadtodelphi.com/2011/03/02/search-for-installed-windows-updates-using-delphi-wmi-and-wua/ From this I created this test project as a start point.. unit Unit24; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Winapi.ActiveX, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Win.ComObj; type TForm24 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); function ISHotFixID_Installed(const HotFixID: string): Boolean; private { Private declarations } public { Public declarations } end; var Form24: TForm24; updateSession: OleVariant; updateSearcher: OleVariant; updateEntry: OleVariant; updateSearchResult: OleVariant; UpdateCollection: OleVariant; oEnum: IEnumvariant; iValue: LongWord; implementation {$R *.dfm} //use in this way ISHotFixID_Installed('KB982799') function TForm24.ISHotFixID_Installed(const HotFixID: string): Boolean; begin result := False; updateSession := CreateOleObject('Microsoft.Update.Session'); updateSearcher := updateSession.CreateUpdateSearcher; //this line improves the performance , the online porperty indicates whether the UpdateSearcher goes online to search for updates. so how we are looking for already installed updates we can set this value to false updateSearcher.online := False; updateSearchResult := updateSearcher.Search(Format('IsInstalled = 1 and Type=%s', [QuotedStr('Software')])); UpdateCollection := updateSearchResult.Updates; oEnum := IUnknown(UpdateCollection._NewEnum) as IEnumVariant; while oEnum.Next(1, updateEntry, iValue) = 0 do begin Result := Pos(HotFixID, updateEntry.Title) > 0; updateEntry := Unassigned; if Result then break; end; end; procedure TForm24.Button1Click(Sender: TObject); begin if ISHotFixID_Installed('KB5014650') then ShowMessage('KB Found.') else ShowMessage('KB Not Found.') ; end; end. A couple of interesting things.. 1. Whenever I go to edit this line Delphi hangs up. No keyboard or mouse response in the IDE. 😞 Although Task Manager says it is busy, I have left it for 30+ minutes and it still doesn't return. if ISHotFixID_Installed('KB5014650') then ShowMessage('KB Found.') else ShowMessage('KB Not Found.') ; 2. KB5014650 IS installed on the PC but the button1 function tells me it isn't. 😞 Again, this is my first step. From here I had hoped to implement the search function to see what has been downloaded but not installed. OK. It is probably me, what have I missed? Or, is there an issue either with Delphi or Win 11 or both? Perhaps the fact that I am trying to use it on a 64bit OS? Appreciate any assistance/guidance. Regards & TIA, Ian
-
Hi Team, Two questions.. 1. What is the best reference for Windows APIs that Delphi can access/use? 2. Is there a Windows API that tells if there are any OS updates waiting to be installed? Regards & TIA, Ian
-
New Delphi job opportunity
Ian Branch replied to Berocoder's topic in Job Opportunities / Coder for Hire
Don't forget the Drop Bears... Can be nasty... https://australian.museum/learn/animals/mammals/drop-bear/ -
Hi @Daniel, Is it possible in this forum to set up a survey of some sort to asses what version(s) of Delphi Forum participants are still using these days? Obviously respondents would need to be able to tick multiple versions. I think it be interesting to see what is still in use 'out there' and rough percentages. Just a thought. Regards, Ian
-
Hi Team, Using the Delphi Themes I have Iceberg Classico enabled in the project Appearance settings but Windows set as the default. If I now add the following to the project file.. // TStyleManager.UseParentPaintBuffers := True; TStyleManager.TrySetStyle('Iceberg Classico'); // The default in Appearance gets changed to Iceberg Classico. If I then change it back to default to Windows, the project file changes to this.. // TStyleManager.UseParentPaintBuffers := True; // What the!!!! Is this simply my lack of understanding, in which case how do I achieve what I am trying to do? i.e. have the project in Windows theme during IDE development, and change to Iceberg Classico at run time. Or, is this a bug?? Regards & TIA, Ian
-
Hi Uwe, Yes, it caught me out. I am now setting the theme first thing in the 'Create' of the Main form rather than the project file. Works fine. Regards & Tks, Ian
-
Hi Team, This may be as much a philosophical as a practical question.... Given a multi form (30+) App with a Datamodule. Is it better to have one ImageList in the Datamodule with all the images/icons in it, or, a separate imagelist in each form with just the form's images/icons in it? Many images/icons, i.e. 'Close' are shared in many forms. Given that the forms are created/destroyed at during the App's run time. I'm inclined to go for individual form imagelists. What are your thoughts? Is there a 'best practice' for this? Regards, Ian
-
Hi Stano, Tks. Now I see the picture. I have implemented it without issue. Regards, Ian
-
Hi Team, So It appears I am missing some practical knowledge in regard to the usage of TImageCollection & TVirtualImageLists. 😞 I had a read of the Documentation and am still somewhat confused. I don't/can't see how having a TImageCollection in a datamodule, and TVirtualimagelists on the visible forms referring back to the TImageCollection, is better than having a just a TImageList on the datamodule and referring to it in the forms. Could someone enlighten me please? Regards & TIA, Ian