

PeterBelow
Members-
Content Count
536 -
Joined
-
Last visited
-
Days Won
13
Everything posted by PeterBelow
-
Well, well, has been some years since somebody asked about chemistry here 8-)... As it happens I am a (retired) organic chemist and have worked for more than 30 years for a german (later french) pharma company in research. I wrote a lot of software working with chemical information, mostly from chemical databases. While the core of my library depended on MDL (later Accelrys) ISIS (long dead) and their Oracle chemistry package I tried during my last year at the company to get rid of the ISIS dependency by creating a Delphi wrapper for the Indigo library. Unfortunately I did not have enough time to complete and test the wrapper, and it is based on the 2017 32-bit Indigo DLLs, but perhaps you can find something of use in the mess. I also included some other units related to chemistry in the attached archive without ISIS dependencies. Have fun ;). chemistry.zip
-
If memory serves the IDE deletes these files when it closes normally. Check the first two items under "Autosave" as well. The first creates backups of open units in the _history folder.
-
Not if you use the standard Windows style. If you configure the app to use one of the custom styles (like Windows 10) you can set the StyleElements.seFont property element to false and it will then use the font.color you set and not the Windows default.
-
If you only need to capture TWincontrol decendants you can do this with a few code lines using the TWincontrol.PaintTo or TWincontrol.PaintWindow methods, using a properly sized TBitmap as target.
-
How to change the Width of the dropdown list in tComboBox
PeterBelow replied to Squall_FF8's topic in FMX
Try the ItemWidth property instead. -
Help on obtaining the theme colors for manu backgrounds
PeterBelow replied to Javier Tarí's topic in VCL
From the help it looks like the StyleServices function can take a parameter that specifies the control you want the style info for. So, have you tried to pass a main menu instance as this parameter? Or look at the drawing code in vcl.menus.pas, that should show you how the vcl gets the colors to draw with. -
TFDDataSet descendant, overriding FetchOptions.Mode from design time value
PeterBelow replied to WalkingAway's topic in Databases
Components dropped at design time load their properties from the dfm file after the constructor has executed. To set a property to a different value you need to override the Loaded method and do the deed there. -
Getit Fails to Install Fast Reports D12.1
PeterBelow replied to Mike Warren's topic in Delphi IDE and APIs
-
How can to set up an umbrella unit?
PeterBelow replied to araujoarthur's topic in RTL and Delphi Object Pascal
I assume Forms.Dialogs.pas is a unit not defining a form build in the form designer? In this case I would export functions from that unit that internally create and show(modal) one of the specific form classes, setting any needed setup values from parameters passed to said functions and returning any data entered/selected by the user as function result or in var or out parameters. This way other units need not require the specific form class units in their uses clause, only Forms.Dialogs. Note that the dialog forms would not be autocreated in this setup, the exported functions would all create, show, and then free a new instance of their dialog form. -
How do I close a modal form without ModalResult being set to mrCancel ?
PeterBelow replied to dormky's topic in VCL
The VCL has to work in the API environment that Windows provides. So aim your criticism at Microsoft ;). -
How do I close a modal form without ModalResult being set to mrCancel ?
PeterBelow replied to dormky's topic in VCL
You are wrong, the design makes eminent sense for a message/event driven environment like Windows. A modal form has its own internal message loop and that needs a way to figure out that it should exit the loop. Modalresult <> mrNone is that condition. -
Current Generation methods in Apps under Windows 7?
PeterBelow replied to Ian Branch's topic in General Help
The IDE requires Win10 or 11, but applications build with it can run on older Windows versions, depending on which features they use. It may be necessary to modify the default manifest, though, if it specifies a newer Windows version as requirement (have not checked if it does). -
Creating irregularly shaped multi-dim dynamic arrays
PeterBelow replied to JohnLM's topic in Algorithms, Data Structures and Class Design
Yes, my bad. I'm getting old ... 🙂 -
Creating irregularly shaped multi-dim dynamic arrays
PeterBelow replied to JohnLM's topic in Algorithms, Data Structures and Class Design
in a dynamic 2D array ( a type like TMyArray = array of array of integer) you can set the number of rows with a SetLength call on the array variable and, for each row, set the number of columns with a SetLength(arrayvar, rowindex) call. That should cover your requirements. To reduce memory fragmentation you should avoid multiple SetLength calls on the same array row or the array itself, though. Determine the number of rows/elements beforehand, if possible. -
Well, it has to be something you do in your code then. I just created a new VCL app (D12.2), dropped a TRichedit on it, build and ran and it inserts an image (jpg in this case) dragged from Explorer to it just fine. If you now handle WM_DROPFILES or such try to disable that.
-
XE6 and D12 use different versions of the Windows richedit control as far as I remember, that may explain the change in behaviour you see.
-
Manipulating IIS with the Application Host Administration Interface - OLE issues
PeterBelow replied to Mark Williams's topic in Windows API
Looks like the GetAdminSection function does not return an automation-compatible interface. Can you check what VarType the returned OleVariant has? -
Manipulating IIS with the Application Host Administration Interface - OLE issues
PeterBelow replied to Mark Williams's topic in Windows API
Try Result := not (VarIsClear(OleObject) or VarIsEmpty(OleObject) or VarIsNull(OleObject)) and (VarType(OleObject) = VT_DISPATCH); -
If you open the wsdl in a browser you will see that it is very complex, importing a lot of xml schemas which partially import other schemas, using a host of namespaces. And the schemas seem to be not valid in some cases, e.g. by using namespace prefixes like tns: without defining them. The wsdls also refer to a script but fails to define a namespace for it, no idea if that is valid.
-
Look at this help entry for an overview of how to modify the way a TDBGrid is drawn. In your case set the DefaultDrawing property of the grid to false and attach a handler to the OnDrawColumnCell event. The handler can check the attached dataset's current row to see what row it has to draw. If it is the first just call the grid's DefaultDrawColumnCell method directly. If it is the second row change the grid.canvas.font to bold first and then call DefaultDrawColumnCell. That should do what you want.
-
GUIs are just the majority of the applications build with Delphi. But you can easily build console programs with it, too. The File -> New dialog also offers a template for that.
-
In this case just override the Loaded method of the frame and link the event handler in code there, after calling the inherited method first. That will fix the issue even if you cannot figure out why it happens in the first place. Not really satisfactory, of course, but the only reason I can think of would be if somebody cleared the Name property of the dataset in question or moved the handler method from published to public scope by accident.
-
Is there a keystroke that re invokes Delphi keymapping versus add on?
PeterBelow replied to rudy999's topic in Delphi IDE and APIs
The IDE configuration is stored in the registry and the HKEY_CURRENT_USER hive is of course specific for the user account the IDE is running under. Compare the content of the HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\23.0\Editor\Options\Known Editor Enhancements and HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\23.0\Experts keys under the two accounts (adjust the 23.0 if you use a different Delphi version than 12.2). -
Is there a keystroke that re invokes Delphi keymapping versus add on?
PeterBelow replied to rudy999's topic in Delphi IDE and APIs
If you run into this problem and then call up the Tools -> Options dialog, what does it show as active key mapping on the Editor -> Key mapping page? -
If you put a breakpoint on the first GetDeviceCaps line, do you reach it when running under the debugger? If so, does Printer.Handle have a reasonable value? Are you dealing with a network printer here that may be offline? So many questions, so little data...