Forum Replies Created
-
AuthorPosts
-
Hi Steve,
The TRzRichEdit does not provide any direct support for links. The TRzRichEdit inherits much of its functionality from TRichEdit but provides Custom Framing support to match other controls. However, since TRzRichEdit is a direct descendant of TRichEdit, techniques for adding links to TRichEdit should also work for TRzRichEdit. Here is a stack overflow topic that talks about ways to do that:
https://stackoverflow.com/questions/42532760/adding-true-hyperlink-support-to-tricheditHope this helps,
RayJanuary 11, 2024 at 11:34 pm in reply to: How not to change focus when I click a TRzBitBtn button #3829Hi Leonardo,
The TRzBitBtn is a windowed control and by design captures the input focus. If you do not want to capture the focus, you can use a TRzToolButton instead, which is a graphic control and does not capture the input focus. That’s why it works well for toolbars. You can change the ShowCaption property to True and then make it work like a TRzBitBtn (except it doesn’t change the focus).
Ray
Hi,
The CodeSitePlugIns.dcp file is located in the …Raize\CS5\Lib\RX10.2\Win32 directory. You may need to edit the BuildPlugIn.cmd file and update the CodeSiteInstallDir variable with the path to where you installed CodeSite Studio on your system.
Ah, are you using CodeSite Express? The CodeSitePlugIns.dcp file is only available in the Studio Edition.
Ray
Hi,
You can download the sample plug-in from the following link:
https://raize.com/wp-content/uploads/CSDecodeTextPlugIn.zip
Inside the zip file you will find several files related to the plug-in and several files that are for a test program that generates a couple CodeSite messages.
As noted earlier, you will need to have Delphi 10.2 Tokyo to rebuild the custom plugin. However, I did include the CSDecodeTextPlugIn.bpl in the zip file. Copy this BPL file to the Raize\CS5\Bin\PlugIns directory of your CodeSite 5 installation. (e.g. C:\Program Files (x86)\Raize\CS5\Bin\PlugIns. Restart the Live Viewer so the viewer can pickup the new plugin during startup.
The custom plugin related files all start with CSDecodeText*.
CSDecodeTextInspector.pas is the main inspector unit, which overrides several simple methods including the CreateInspectorControl method, which is used to instantiate and instance of the TfrmDecodeText form.
CSDecodeTextForm.pas (and .dfm): the inspector form used to display the decoded data.
CSDecodeTextPlugIn.dpk is the basic package for the plugin
CSDecodeTextPlugIn.verinfo – version info resource file
CSDecodeTextPlugInResources.rc – resource file that links in version infoThere are also two command files for building the resource files and compiling the plugin.
Ray
Hi,
I have created a sample plugin that decodes a CodeSite message where the message text has been encoded in Base64 — basically the first part of handling encrypted message text. I’ll post the code as soon as I can — sometime tomorrow.
In the meantime, please note that in order to build a custom plugin for CodeSite 5, you must use Delphi 10.2 Tokyo.
Ray
Hi Andrea,
When a program first tries to send a CodeSite message, the CodeSite logging class (TCodeSiteLogger) checks to see if the Dispatcher is running. If it is not, then the Dispatcher is started. The logger class looks in the Registry for the location of the CodeSite Dispatcher in case the CodeSite Tools are installed on the computer. If the Registry entry is present, the Dispatcher at that location is launched. If the Registry entry is not present, then the logger will look in the current directory of the application and launch the CSDispatcher.exe file if it is present.Having the Dispatcher get started by an application is quite common and I do that all the time. I’m curious to learn more about your attempts and what type of application you are building and how you are using CodeSite Express. Feel free to send an email to support@raize.com and I’ll be happy to assist in tracking down the issues.
Ray
Hi David,
The GUID that is displayed in the message represents a DispatchID. In CodeSite 5 (and earlier) when you first send a message to the Dispatcher, a Register Dispatch ID message is sent first and the Dispatcher registers the Dispatch ID with the destination details currently defined and this in turn specifies which Transporter should be used. Therefore, for future messages that include the Dispatch ID, the Dispatcher knows where to route the messages to.
The error messages are showing up in the Dispatcher Log every time the Dispatcher receives a CodeSite message referencing a Dispatch ID that the Dispatcher does not know about. Restarting the application that is generating the CodeSite log messages should stop the error message because a new Dispatch ID will get generated.
The Dispatcher not being able to find a Transporter for a Dispatch ID should rarely happen. Even if the Dispatcher is closed, the current set of Dispatch IDs and Transporters are persisted to disk in the CSDispatchIDs.ini file. The situation can happen if the Dispatcher is forcibly terminated and the Dispatcher does not have a chance to save the Dispatch IDs.
Ray
Hi Dave,
This type of error is typically caused by either the design package being moved to a different location and Delphi cannot locate the design package, or that Windows cannot locate the corresponding runtime package on the system PATH.
What is odd is that you state that the package loads in Delphi 11. And the runtime packages for both Delphi 11 and 12 reside in the same directory: C:\Program Files (x86)\Raize\CS5\Deploy\Win32.
Please check in Delphi 11 that the packages are indeed loaded. Select Component > Install Packages menu item and see if the CodeSite packages show up in the list. If they are listed, please select one of them and note the directory listed in the status bar.
Next, I would suggest checking your System PATH to ensure that the Raize\CS5\Deploy\Win32 directory is present.
BTW, the design packages are not really necessary to use CodeSite. They are provided merely for backward compatibility for older versions of CodeSite.
Ray
Hi Juergen,
Thank you for reporting this issue. I’m not entirely sure when this functionality stopped working, but the reason the tab stops are not updating from the header properly is because the internal FDialogUnits property of the TRzTabbedListBox is not getting initialized properly. Normally the FDialogUnits property gets updated in the cm_FontChanged component message handling method. I believe this notification message used to be sent when a component was created, but that is no longer happening. I will have to research that further.
Fortunately, there is a workaround. You can manually send the cm_FontChanged component message to the tabbed list box in the FormCreate event handler as shown below. After that, the tabs will be updated properly when changing the header sections.
procedure TForm1.FormCreate(Sender: TObject); begin RzTabbedListBox1.Perform( cm_FontChanged, 0, 0 ); end;I believe the proper fix will be to ensure that the FDialogUnits property gets initialized in the TRzTabbedListBox.Loaded method override. I would encourage you to report this issue to Embarcadero as they are the owners and maintainers of the KSVC since 2015.
Ray
Hi Ulrich,
That’s an interesting idea. I’ll add it to our list of enhancement requests and investigate.
Ray
Hi,
If the ConnectUsingTcp approach is not working, there are a few things to check.
First, are you able to send a CodeSite message using the default connection method? That is, without calling ConnectUsingTcp? This will ensure that the Dispatcher is not Disabled, or that the Live Viewer is Blocking Incoming messages.
Next, are you specifying any parameters when calling ConnectUsingTcp? When no parameters are specified, the default host (localhost) and TCP port (3434) are used.
Next, check the Dispatcher Settings and verify that the TCP Port specified matches. I would also recommend checking that any Firewall software is not blocking that port.
Ray
Hi Leo,
There are two thoughts that come to mind. The first is to leverage VCL Styles to create your rounded buttons. And with Per-Control styling that was introduced in 10.4, you can use the custom style for only the buttons. However, creating a custom VCL Style, even just the button part of it, is not trivial. I suggest checking out my CodeRage session – Creating Custom VCL Styles (https://www.youtube.com/watch?v=BBlSSObmfXA).
The other option would be to create a custom button component where you can control precisely how the button looks. Of course, creating a custom button is not a trivial task either.
Ray
Hi Dirk,
I apologize for the long delay. My forum notifications got turned off by mistake.An Unsupported MessageFormat error generally means that the log file is getting corrupted. Is the log file being written to mapped network drive? And is it being written to by CodeSite Dispatchers running on separate computers simultaneously?
Would you please send one of the bad log files to support@raize.com (zip it up) and I’ll take a look.
Ray
Hi Rudy,
Here is some additional information that may help your situation.
The GetIt packages for RAD Studio 10.4 are stored in the following folder:
C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepositoryClose RAD Studio and then navigate to the above folder and delete the KonopkControls*** folder if it exists.
Next, edit the Registry and navigate to:
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\21.0\CatalogRepository\Elements
and delete the KonopkaControls*** key if it exists.Then restart RAD Studio and try to install the Konopka Signature VCL Controls again.
Hope this helps.
RayHi Rudy,
I am very sorry to hear of your troubles with the components. I am very surprised that Embarcadero said they don’t know how to help. Embarcadero acquired Raize Components back in 2015 and rebranded the controls as KSVC. Embarcadero created the GetIt package that is used to install the components.
I understand your predicament and will try to find out some more information. What is the exact message that you are receiving when you try to install the components via GetIt?
Ray
-
AuthorPosts