Thanks for taking the time to read my post. I have spent lots of time reading other threads on here and everywhere else I could find and could not find a solution to my issue.
What I am trying to accomplish is to have two way communication between a service and a (single - for now) windows gui interface. I have found some basic examples on the web on how to pass a string to the server and playing around with it I was able to pass a Serializable class to the server and using functions get a class back from the server.
What I don't understand and can't figure out is how to get the server (service) to send an update to a client without the client requesting it, like an event. I found a server/client chat program that this works on but it is too complicated for me to follow and figure out how to do it.
Using the below example I changed the server into a Windows Form Application and then in the CommunicationService class I created a reference to the server form and called a public sub I had defined on it to bring the passed string into it. Although that works it is ugly and I am sure it is not the correct way to do it. How would I make more like a typical even driven system?
Below is an example I found on the net and I started with this to try and figure out how to accomplish my goals. What do I need to change or add to make this work the way I want it to?
PrivateSub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
Dim ipcCh AsNew IpcChannel("myClient")
Dim obj As SharedInterfaces.ICommunicationService = _
Server - CommunicationService Class:
PublicSub SaySomething(ByVal text AsString) Implements SharedInterfaces.ICommunicationService.SaySomething
Console.WriteLine("The client said : " & text)
Server - Main:
Dim ipcCh As IpcChannel
ipcCh = New IpcChannel("IPChannelName")
GetType(CommunicationService), "SreeniRemoteObj", _
Console.WriteLine("Press ENTER to quit")
Sub SaySomething(ByVal text AsString)
Thanks for the reply. I had thought that there must be a way to use remoting like a typical class, define it withevents and then easily pick up events on either side.
After reading some more I decided to use WCF. The duplex part I got working but once again I am struggling with bringing the events (callbacks) into the client form (I have created a reference in the callback class to the client form) but it seems kludgey to me.
I would like to prepare simple crystal report and want to display in vb6 form. Here is the work I have done:
1 Crystal Report Created using Crystal Report 8.5
2 Designed Crystal Report and connect with Oracle 9i
3 Create standard exe project in vb6
4 Added Report which I have created.
5 While running i am getting following error.
this might seem very basic, but still I couldn't find a solution - maybe you have it...
Getting an Excel Range obviously results in a 2-dimensional array of object, even if it's only one column. The resulting array is supposed to be used for filtering a database using a LinqToSQL-Query ("...WHERE array.contains(listvalue)". This, unfortunately, seems to mandatorily need a 1-dimensional array.
Does anyone of you know a way out of this dilemma? I couldn't find any way of extracting one dimension into a separate array except iterating through it item by item.
I'm programming a web browser and I don't like it that my web browser actually runs from Internet Explorer instead of my application itself, is it possible for my web browser to have it's own proxy, "internet disconnected" page, I.p., etc. (like Google Chrome, Mozilla Firefox and Opera) I've had heard of Win Sock before, but I do not have extensive knowledge on that subject, but Am willing to learn anything you tell me (including Win Sock).
Simple Thanks and Regards,
Brandon T. H.
Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.
Many of life's failures are people who did not realize how close they were to success when they gave up. - Thomas Edison
You have to jump through some flamming hoops to get this to work. You can see an example of it here[^].
Basically, the Web Browser control is a managed wrapper for whatever version of IE is install on your machine. Since you're running IE in a window, it'll use all the settings you set in IE, unless you smash the Web Browser control with a large hammer.
I have two reports, done with Crystal Reports, in my project currently. I'm forever having trouble with Crystal Reports and these problems are now causing deployment problems. I'm getting very tired of fighting thru the myriad of problems I've had with Crystal Reports and I want to explore the possibility, desirability of eliminating CR from my project altogether and producing these reports in a diffferent manner.
I would like to know what others have found best.
The reports that I currently have are pretty rudimentary. Just some simple formatting; no graphics, tables, colors, etc.
I know of three other possibilities; 1) using the Report capabilities of VS, 2) automating Word from VS, or 3) writing a text file from VS and then using Word VBA to manipulate it to produce the reports.
Do you know of any others?
Of the options that I've thought of; keeping Crystal Reports, Microsoft Reporting Services, automating Word, and passing a text file to Word; would you consider any of these to be superior to the others? Which way should I go?
I don't know how to do any of these ways. I will have to learn. So, the difficulty, or ease, of the learning process is definitely a consideration.
Any advice or words of wisdom that you might have for me would be greatly appreciated. Thank you.
Thank you Dave. You gave me just what I needed and I appreciate it. Another person advised me to use Reporting Services and that is now what I intend to do. I've got some 'book learning' to do but I'm now ready to go. You saved me from going down the wrong road. Thanks. Jack
I don't know exactly what you're trying to accomplish but I never ever use Crystal Reports. Controlling the printer (in VB 6 at least) is a very simple process.
dim something as stdfont to allow you to change fonts and their characteristics during the run (Don't use the printer font properties for this they don't work well) stdfont is a standard type supplied in VB 6.
Open the printer
set the fonts in the something variable
position the printer cursor using printer.currentx and printer.currenty
Line spacing (kerning) is determined by the font, of course. You can use printer.currenty to override that.
dump the text using printer.print "sometext" If you want all the output on the same line then add a ; (printer.print "sometext";) and you can avoid the printer.currenty statement.
If you're printing a columnar report, add a test to determine end of page (the printer dimensions are twips) I usually leave 1/2" = 720 twips of air @ the bottom to allow for the different unprintable areas
printer.newpage ejects the page
end the job with printer.enddoc
abort using printer.killdoc
If the output exceeds 1 page you'll probably want to have a heading procedure. Printer.page tells you the page number that you can add to your report if you feel like it.
I have used this for over 10 years to print all kinds of reports including form filling.
Ben, thank you very much for this. I'm struggling to say the least. I do want to get Crystal Reports out of my life and the way you outline seems like a very real possibility for me. If I understand it correctly it seems so much easier than Crystal Reports or Reporting Services. I'm going to give it a try right away. Would it be possible for you to send me a code snippet? Maybe just a "Hello World" report that said nothing more than that. In the meantime I'm going to try to do it myself. I've got users waiting on me and I'm currently DIW. Dead in the water. I don't need different fonts but I will need to bold some text. Thanks Ben. Jack
Ben, hold on that request for a code snippet. I found an article and some code. The way I understand it, and will try it later, is to have a form and add to it a PrintDocument control to the form. Then I will have access to statements like the ones you gave to me. I'm looking forward to trying this out. Thanks. jack
Last Visit: 31-Dec-99 18:00 Last Update: 1-Oct-23 9:55