Forum Replies Created
-
AuthorPosts
-
Hi Jan,
Thank you for your interest in the remote logging capabilities of CodeSite. Remote logging leverages the CodeSite Dispatcher to transport CodeSite messages to another CodeSite Dispatcher running on a remote computer. And since CodeSite allows you to specify multiple destinations for your CodeSite messages, you could have an application’s CodeSite messages saved locally in a CodeSite log file as well as being transported to a remote dispatcher where the message could be saved in a “remote” log file, or displayed in the Live Viewer running on the remote machine.
When it comes to logging in general and especially with remote logging, it is important to consider how the logging information is going to be used. You asked about 250 client computers logging to one server. You could certainly configure 250 client computers to transport their CodeSite messages to a single remote computer. Of course, performance is certainly going to be an issue if each client application is sending a high volume of large CodeSite messages.
But even if you will not be taxing the system with lots of data, it is still important to consider what you want to do with the logging information once it is captured. For example, does it make sense for all CodeSite messages from each client to be placed into a single CodeSite Log File on a remote computer? If there are interactions between the various client computers, then perhaps it makes sense to see all the messages in one log file. On the other hand, if the intent is to simply have a remote version of the log so a support staff member can more easily access client logging information, then it may make more sense to have each remote log file include the name of the client computer.
In regards to what kind of server, that will really depend on the volume of CodeSite messages you expect to be sending, and what payload those messages will contain. For example, sending a simple CodeSite message that logs the current value of a property is much different than a CodeSite message that captures all of the published properties of the current form, which is much different than a CodeSite message that contains a screenshot of the current desktop.Ray
Hi Mike,
You can create an event handler for the OnDblClickOpen event of the TRzShellList and in the handler set the Handled parameter to True. For example:
procedure TForm38.RzShellList1DblClickOpen(Sender: TObject; var Handled: Boolean); begin Handled := True; end;
Ray
June 15, 2022 at 9:59 pm in reply to: rzGroupBox 6.2.3: Caption doesn't scale with per-monitor DPI #3119Hi Andreas,
I’m not sure what happened but some of your messages were marked as spam. I do not know why they were marked as spam. Regardless, I have removed the spam marker and your posts should now appear for everyone.Ray
The Delphi compiler version for Delphi 10 is 30, which matches the “Found version: 30.0” in the error message. But the error message also says that version 32.0 was expected. This means that the Delphi 10.2 compiler was being used to compile the code.
Please look in the !Build_RC6.cmd file and check to make sure that the VCLVersion, DCC32EXE, and DCC64EXE variables are set correctly.
Ray
Never mind. I see your other post with the details.
Ray
Hi Johnson,
What does the output look like when you try building the components with the !Build_RC6.cmd file?
Ray
Hi Barry,
In order to save the specified property values to the property store (i.e. registry) you need to call the Save method (RzPropertyStore1.Save). For example, when your app closes.
Likewise, at startup (e.g. FormCreate) you need to call the Load method to instruct the TRzPropertyStore component to load the stored property values and apply them to the components.
Ray
February 22, 2022 at 9:12 pm in reply to: Destroyed Canvas handle in RzGrafx.pas -> “DrawParentImage” #2970Hi Patrick,
Thanks for taking the time to share your investigation of this issue and for posting the solution. I would encourage you to create a new issue on Embarcadero’s Quality Portal to report this issue and your findings.
Since Embarcadero acquired the components in 2015, an official fix will need to come from them. Therefore, I am encouraging all KSVC users to report issues and enhancement requests to Embarcadero directly. I will continue to engage Embarcadero to encourage them to address issues like this and keep the library current, but I believe it will be good for Embarcadero to see issues being reported by other users.
Thanks again for sharing your findings!
Ray
Hi Andrew,
I apologize for the long delay. Apparently, the notification of new posts to the forums stopped sending out notifications.Unfortunately, we do not have any additional C++ examples outside the ones that are distributed with the components. However, it appears that your real question is more of a data marshalling question rather than a drag and drop question.
For instance, it appears that the drag data is being transmitted to the destination app. However, given that you are copying your object’s data using memcpy and using the address to send the data, I’m not sure what you will be able to do with that on the receiving end. That is, I think a better approach would be to package up the object information you want to drag into some well defined format (e.g. JSON, xml, etc), and then provide that in the drag operation. Then on the receiving side, you would receive the well defined object information. You could then create a new instance of your object and then use the drag payload to populate the object’s properties.
Hope this helps, and again I apologize for the delay in responding.
Ray
Hi,
You should have received the email with your serial number by now. If not, please check your Junk Email filters.
Ray
Hi Peter,
The TRzTabbedListBox (well, the TRzCustomTabbedListBox) uses the TabbedTextOut method to display the tabbed contents of the list box. However, if you simply want to change the color of the text of a list box item, you can called the DefaultDrawItem method in the OnDrawItem event handler. For example,
procedure TForm7.RzTabbedListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin if not ( odSelected in State ) then begin if Index mod 2 = 0 then RzTabbedListBox1.Canvas.Font.Color := clRed else RzTabbedListBox1.Canvas.Font.Color := clBlue; end; RzTabbedListBox1.DefaultDrawItem( Index, Rect, State ); end;
This event handler colors the lines alternating colors. Since Index starts off at 0 for the listbox, the first item is colored red. The second is blue, and the third is back to red, etc. However, if the item is selected, then the font color is not changed so that the selected font color is used against the selection background color.
Ray
Hi,
No, you are not using it incorrectly. Unfortunately, there was a change in C++Builder (I do not remember the precise version), but it broke the TraceMethod functionality. It’s on our list of things to fix for the next major release. In the meantime, you can use the EnterMethod/ExitMethod approach to group your CodeSite messages by method.
Ray
The vsWinXP value originally meant, use the new Windows XP Visual Styles (i.e. Themes back in the day). Any when VCL Styles were introduced, vsWinXP by the very nature of how Embarcadero (CodeGear) implemented VCL Styles, the vsWinXP also meant to use the currently active VCL Style.
Yes, it would most certainly be nice to change the enum value to something more appropriate, but that is not a simple task. Each component that has a property like that would need to have a ReadProperties override in order to “fix up” any reference to that enum that already exists in a DFM file. Although, I believe that is the default value, so maybe there are not that many references to it in actual DFM files.
Feel free to submit a request into Embarcadero’s Quality Portal to rename the enum.
Ray
Hi,
Ah, you are using the Community Edition. I believe Embarcadero limits what software packages are available in GetIt for the Community Edition. You would need to contact Embarcadero for confirmation.
Ray
Hi,
The CodeSite Express installer is only available via the GetIt Package Manager. I just started Delphi 10.4 and selected Tools > GetIt Package Manager. I then entered CodeSite into the search box and the CodeSite Express entry was displayed in the results.
Ray
-
AuthorPosts