-
Content Count
652 -
Joined
-
Last visited
-
Days Won
12
Posts posted by Bill Meyer
-
-
5 minutes ago, Mike Torrettinni said:I like the DLL option, but the client is not too happy about it as they don't want to have additional external files for deployment.
Are there any other options?
Been there, went with a DLL. The component was unsupported, the vendor gone, and no source. As it was an encryption tool, and not easily reverse engineered because of compatibility issues, we had no real choice. Comparable components using the "same" algorithm delivered quite different results.
- 1
-
If toolbar management is ever consolidated, that would certainly come from a substantial redesign of the IDE, and would certainly be a benefit. Similar to the issue of hotkey centralization. It would be rather silly for any plug-in to try to organize such things, as the various tool vendors would keep doing their own thing, and the task would be endless.
- 1
-
1 hour ago, dummzeuch said:And I thought these applications were already large...
Large is not only lines of code. It also encompasses legacy code with pervasive unit dependency cycles. Then we are talking minutes to build. Yes, minutes.
-
20 minutes ago, Stefan Glienke said:If you work on a large enough application with enough developers that produce builds nonstop rebuilding the same unchanged source code every time is an issue. Especially when Delphi decided that it does not like the "compile" option for whatever reasons and forces you to do "build"
It's been a very long time since I trusted much in the "compile" option. I don't recall (later than Delphi 1) that it ever felt very reliable.
- 1
-
Breaking changes always come at a cost, and there will always be complaints. But few of us are prescient, and there comes a time -- as when DevExpress replaced the dxGrid with the cxGrid -- when the need to incur the breakage overpowers the costs. When an architecture proves too limiting, or too brittle, then carrying it forward is no kindness. But as Stefan wrote: "...it then is an important responsibility to document them and if necessary provide some tooling to migrate your code..."
- 2
-
1 hour ago, Uwe Raabe said:But as you asked for it: The RiverSoftAVG SVG Component Library, which also includes some SVG image list, comes with source for a price of $66. I didn't compare the feature list, though.
I note one big difference: RiverSoftAVG clearly states their engine is static, while SVG Magic claims dynamic (animation) support.
-
Collecting from the uses clauses will yield the list of all units referenced in the project modules, but parsing the map file is the simplest way I know to discover which units participate in the finished executable.
- 1
-
46 minutes ago, jeanmilost said:We are still considering the release of the source code. For now the status is "on demand". You as users, what is a fair premium price you are ready to pay to have also the source code?
Having worked in Delphi since D1, and twice having had to deal with the issue of components without source, I would say that the value without source is essentially zero, as the risk factor is not worth any benefits in the short term. So I would suggest that the question as you ask it is simply wrong.
- 7
-
On 3/7/2019 at 7:16 AM, Lars Fosdal said:Grammarly is a nice Chrome plugin for spell-checking in any edit box.
But does it work with those pink lenses?
-
6 hours ago, Rudy Velthuis said:Of course I have. But first I don't like the old-style IDE (Lazarus) and FPC is not nearly on the same level as Delphi, despite Delphi's bugs and other shortcomings.
The IDE can be set up in the new docked style, much like Delphi. Just a matter of installing the packages for it.
-
Got my ebook edition yesterday. Reading eagerly, and really appreciate the clarity of presentation!
-
While I agree with your comments about the structure pane's utility when in code, and agree as well that MMX is far better, I would think it much better to lodge a feature request with Embarcadero. This would be merely another checkbox in Tools, Options, and ought not to be terribly difficult for them to implement.
-
1 hour ago, Dalija Prasnikar said:I cannot find it either... I don't think it was a blog post... maybe some post on G+ or somewhere else...
This?
https://stackoverflow.com/questions/10768152/delphi-application-leaking-ansistrings -
There have been a number of components which attempted to address this issue, but none of them worked very well, in my experience. To be fair, the problem is not in the component design, but in the reality that integer points makes font scaling impractical. If we had font sizes -- and scaling -- in floating point values, then scaling would be straightforward. With integer font sizes, we have proportionally large incremental change at the small sizes, and proportionally small incremental changes at large font sizes.
-
3 hours ago, Dalija Prasnikar said:If I had a dime for every time some "simple test code" ended in production... 😋
Then you would need a very large truck!
- 3
-
On 12/25/2018 at 4:45 PM, dummzeuch said:Looks good. I wouldn't mix result with exit(..), but that's probably a matter of taste.
The compiler encourages that mix, as it warns of the Result not having been initialized otherwise.
- 1
-
15 minutes ago, Uwe Raabe said:You can edit the registry entry of your Delphi version to specify another version of MMX. Look for MidexExpert in the Experts subkey.
Perfect, thanks!
-
I had MMX 12.3 installed in XE7, and later installed 13.0.2. Because of the errors on reports issue I already reported, I am wondering whether there is a way to make the 12.3 installation active again, or is that only possible through a new installation? I've recently moved, and my 12.3 installable is on a machine which is still not set up. Thanks.
-
I discovered an error this morning in MMX in D2007. The project is large, with many unit dependency issues. When I open the tool, and then on the menu, select either the Uses Report or the Cycles Report, I get an error, with these details:
(000159A9){mmx_bds5.dll} [0BE769A9]
[2013C130]{vcl100.bpl } Controls.TControl.DoConstrainedResize (Line 5002, "Controls.pas" + 18) + $14
[201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[2013CBF7]{vcl100.bpl } Controls.TControl.CheckNewSize (Line 5291, "Controls.pas" + 4) + $8
[042B5275]{DelphiSpeedUp105.dll} SystemOptimize.DMTSearch (Line 198, "SystemOptimize.pas" + 4) + $7
[042B52B6]{DelphiSpeedUp105.dll} SystemOptimize.GetDynaMethod (Line 236, "SystemOptimize.pas" + 20) + $0
(0011748B){mmx_bds5.dll} [0BF7848B]
(001174E1){mmx_bds5.dll} [0BF784E1]
[2013CA2C]{vcl100.bpl } Controls.TControl.Click (Line 5229, "Controls.pas" + 9) + $8
[200FCD8B]{vcl100.bpl } StdCtrls.TRadioButton.SetChecked (Line 4048, "StdCtrls.pas" + 11) + $13
(00117000){mmx_bds5.dll} [0BF78000]
[20158AC9]{vcl100.bpl } Forms.TCustomForm.DoCreate (Line 2947, "Forms.pas" + 3) + $C
[201586A8]{vcl100.bpl } Forms.TCustomForm.Create (Line 2856, "Forms.pas" + 13) + $11
[201586C4]{vcl100.bpl } Forms.TCustomForm.Create (Line 2859, "Forms.pas" + 16) + $9
(00210DE1){mmx_bds5.dll} [0C071DE1]
[200EF966]{vcl100.bpl } CommCtrl.ListView_GetNextItem (Line 10154, "win\CommCtrl.pas" + 0) + $E
[20199985]{vcl100.bpl } ComCtrls.TCustomListView.GetNextItem (Line 15837, "ComCtrls.pas" + 18) + $B
(0011786B){mmx_bds5.dll} [0BF7886B]
[201D1BCE]{vcl100.bpl } AppEvnts.TMultiCaster.DoActionExecute (Line 356, "appevnts.pas" + 5) + $E
(001D4C0A){mmx_bds5.dll} [0C035C0A]
(001D4D42){mmx_bds5.dll} [0C035D42]
[2004018B]{rtl100.bpl } Classes.TBasicAction.Execute (Line 11081, "common\Classes.pas" + 3) + $7
[20151359]{vcl100.bpl } ActnList.TContainedAction.Execute (Line 388, "ActnList.pas" + 1) + $2C
[201520BC]{vcl100.bpl } ActnList.TCustomAction.Execute (Line 1000, "ActnList.pas" + 7) + $8
[20040057]{rtl100.bpl } Classes.TBasicActionLink.Execute (Line 11010, "common\Classes.pas" + 2) + $7
(0003C041){mmx_bds5.dll} [0BE9D041]
(0003BF43){mmx_bds5.dll} [0BE9CF43]
[20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 😎 + $0
[201625F0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105, "Forms.pas" + 23) + $1
[2016262A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4
[2016291F]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3
(00003312){IDEFixPack.dll} [07D64312]
[0042297A]{bds.exe } bds.bds (Line 195, "" + 7) + $7On further testing, I get the same sort of error in XE7 with a project which is much cleaner. This report:
(0001A0C1){mmx_bds15.dll} [1452B0C1]
[505A0667]{vcl210.bpl } Vcl.Graphics.TCanvas.RequiredState (Line 4199, "Vcl.Graphics.pas" + 12) + $7
[505E25BE]{vcl210.bpl } Vcl.StdCtrls.TCustomLabel.DoDrawThemeTextEx (Line 2200, "Vcl.StdCtrls.pas" + 9) + $3D
[505C27C5]{vcl210.bpl } Vcl.Controls.TControl.DoConstrainedResize (Line 6985, "Vcl.Controls.pas" + 18) + $16
[26815C17]{WO_Common_DXE7.bpl} Dchook.TCustomActiveNotifier.HookProc + $66F
[26815D70]{WO_Common_DXE7.bpl} Dchook.TCustomActiveNotifier.HookProc + $7C8
[268160DE]{WO_Common_DXE7.bpl} Dchook.dcRemoveFreeNotification + $212
[2C435170]{WO_LMD_RXE7.bpl} Lmdsctmemmgr.InternalObjectWrapped + $CC
[50059C58]{rtl210.bpl } System.@FreeMem (Line 4439, "System.pas" + 20) + $0
[5006132C]{rtl210.bpl } System.@UStrClr (Line 24117, "System.pas" + 14) + $0
[50063678]{rtl210.bpl } System.@FinalizeArray (Line 31376, "System.pas" + 80) + $0
[26815C17]{WO_Common_DXE7.bpl} Dchook.TCustomActiveNotifier.HookProc + $66F
[505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038, "Vcl.Controls.pas" + 153) + $6
[2C435170]{WO_LMD_RXE7.bpl} Lmdsctmemmgr.InternalObjectWrapped + $CC
[50059C58]{rtl210.bpl } System.@FreeMem (Line 4439, "System.pas" + 20) + $0
[50064A77]{rtl210.bpl } System.@DynArrayClear (Line 34176, "System.pas" + 49) + $0
[50064740]{rtl210.bpl } System.DynArraySetLength (Line 33858, "System.pas" + 9) + $6
[505E7C20]{vcl210.bpl } Vcl.StdCtrls.TButtonControl.WndProc (Line 5163, "Vcl.StdCtrls.pas" + 13) + $4
[505C2850]{vcl210.bpl } Vcl.Controls.TControl.Perform (Line 7010, "Vcl.Controls.pas" + 10) + $8
(0014B39F){mmx_bds15.dll} [1465C39F]
(0014B3F5){mmx_bds15.dll} [1465C3F5]
[505C3183]{vcl210.bpl } Vcl.Controls.TControl.Click (Line 7348, "Vcl.Controls.pas" + 9) + $8
[505E98AB]{vcl210.bpl } Vcl.StdCtrls.TRadioButton.SetChecked (Line 6205, "Vcl.StdCtrls.pas" + 11) + $13
(0014AEF0){mmx_bds15.dll} [1465BEF0]
[5070BB89]{vcl210.bpl } Vcl.Forms.TCustomForm.DoCreate (Line 3746, "Vcl.Forms.pas" + 3) + $C
[5070B6E1]{vcl210.bpl } Vcl.Forms.TCustomForm.Create (Line 3609, "Vcl.Forms.pas" + 25) + $5
(0014B78F){mmx_bds15.dll} [1465C78F]
[50776B56]{vcl210.bpl } Vcl.AppEvnts.TMultiCaster.DoActionExecute (Line 390, "Vcl.AppEvnts.pas" + 5) + $A
(00234066){mmx_bds15.dll} [14745066]
(00234ED2){mmx_bds15.dll} [14745ED2]
[5016D517]{rtl210.bpl } System.Classes.TBasicAction.Execute (Line 16099, "System.Classes.pas" + 3) + $3
[505AC25A]{vcl210.bpl } Vcl.ActnList.TCustomAction.Execute (Line 259, "Vcl.ActnList.pas" + 19) + $35
[0B6A7E26]{IDEFixPack.dll} RefactoringActionUpdateFix.CustomActionExecute + $22
[5016D39B]{rtl210.bpl } System.Classes.TBasicActionLink.Execute (Line 16010, "System.Classes.pas" + 2) + $3
(00047E2C){mmx_bds15.dll} [14558E2C]
(00047D1F){mmx_bds15.dll} [14558D1F]
[5016E20C]{rtl210.bpl } System.Classes.StdWndProc (Line 16598, "System.Classes.pas" + 6) + $1
[5071634F]{vcl210.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10349, "Vcl.Forms.pas" + 23) + $1
[50716392]{vcl210.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10379, "Vcl.Forms.pas" + 1) + $4
[507166C5]{vcl210.bpl } Vcl.Forms.TApplication.Run (Line 10517, "Vcl.Forms.pas" + 26) + $3
I do appreciate the "lazy" analysis in the most recent version, as it used to take 20+ minutes to produce the analysis before. I expect much the same, if I ask for a report in this version, but for interactive exploration, the lazy analysis is very nice.,
Thanks,
Bill
-
1 minute ago, Kryvich said:@Bill Meyer That's the whole point: if Embarcadero can get the IDE to work on a such project, then CodeInsight will work flawlessly on projects with a well-designed architecture.
And after all these years, the chances seem slim.
-
12 hours ago, Kryvich said:Very good library to test the CodeInsight and ErrorInsight features.
Not with such massive unit dependency cycle issues, which are known to cripple the IDE.
-
41 minutes ago, Uwe Raabe said:I encourage everyone to eliminate those cycles as soon as possible. They cost you a huge amount of your time.
I agree completely. That said, they require significant work to remove. And though MMX can present reports on the problem, I am still looking for anything which can simplify the task of identifying the worst offenders. (Yes, it matters, as the full report is a bit overwhelming in this case.)
-
18 hours ago, Erix A. said:- IDE is slower than 10.2.3. For example, you can see how Project/Options window is being drawn while opening.
- If you set the dark mode, then you can see how options window is first drawn white and then skinned.
- Code scrolling in the editor seems bit slower.
- When app is run and the closed, lots of windows resizing, flickering is going on while the IDE goes from Debug to Default layout. (The same is happening in 10.2.3 as well, only it does it much faster).
- Sometimes after couple of runs Object inspector is not drawn at all until you refresh it.
- 1st full recompile of the project took about 12 seconds
- 2nd full recompile 40 seconds
- 3rd full recompile minute and something
- 4th one is still running (joke)
- After couple of recompiles, the whole IDE just blurs in the background, compiler gets stuck, and then after some time everything resumes.
- Code completion still isn't working in my project (It works after the 1st compile, then stops until project is cleaned). I reported it to QC and even got some response in the item, but then it stopped.When I turned the skinning off, IDE become more responsive, but some of the tool bars are drawn with non default background and when I hover over the tool bar buttons, the background for them becomes black.
I'm kinda sad. Usually I install the new Delphi and very soon uninstall the previous one, as the new one is just better. Not this time 😞
Your opening comment is very disappointing, given that my first impression of 10.2.3 is that the IDE is slow and flickers obnoxiously.
I'm not a fan of themes, so the "solution" is one I can welcome. Is the IDE now perhaps all done with DevExpress controls with skinning? (Just asking...)
Successively longer compile times is another disappointment, but having spent weeks now in moving legacy code into XE7 -- where it cannot build, except through the external build process -- has mad me much more sensitive to the numerous defects in the IDE. And I have turned off almost everything that in interactive in the IDE, in the hope of reducing the problem.
I will mention, however, that some of your comments lead me to wonder whether your project is free of unit dependency cycles. Mine is not, and I know too well that those cycles lead to many problems. The "stuck" compiler is one of the symptoms I have seen.
-
1 hour ago, David Schwartz said:It doesn't work now. It generates a run-time error. Did you read my original post?
I'm getting "invalid type cast". It's in GetIt250.bpl, and apparently others are as well. And there does not seem to be any workaround other than going back to an earlier version.
Yes, I read your original post. So as I understand it, then, the problem with GetIt makes Tokyo unusable?
I did have a similar problem with Tokyo in a VM a couple of months ago. Did the uninstall/reinstall dance, and then it worked. I have my own concerns about Tokyo, but GetIt is not chief among them. That is why I asked.
What to do with unsupported components?
in General Help
Posted
Not noticeable, but this was years ago, and I don't recall how large the encrypted files were. We were moving from D6 to D2006 at the time.