|
I am trying to convert this C# code to vb and am having some trouble, it is from a WCF project located here http://www.codeproject.com/KB/webservices/wcftransfer.aspx?msg=3269789
I did try a online C# to VB translator but what it spit out as code the VS IDE didn't like
Here is the piece of code:
ThreadStart start = delegate
{
form = new TProgress(null, port);
form.sport = sport;
form.Show();
form.GetThread = new Thread(new ParameterizedThreadStart(form.GetInvoke));
form.GetThread.Start(transfer);
};
HelpClass.Form.BeginInvoke(start);
this is as far as I have gotten
'Dim start As New ThreadStart(AddressOf ) <--Not sure what this delegate is, AddressOf "what"?
Dim form As New TProgress(DBNull.Value, port)
form.sport = sport
form.Show()
form.GetThread = New Thread(New ParameterizedThreadStart(AddressOf form.GetInvoke))
form.GetThread.Start(Transfer)
'HelpClass.Form.BeginInvoke(start)
Thanks in advance...
Worked on my Machine!
|
|
|
|
|
Easy, put your VB code in a seperate method than create the ThreadStart using that method.
Private Sub SomeMethodName()
Dim form As New TProgress(DBNull.Value, port)
form.sport = sport
form.Show()
form.GetThread = New Thread(New ParameterizedThreadStart(AddressOf form.GetInvoke))
form.GetThread.Start(Transfer)
End Sub
And for the line you couldn't convert:
Dim start As New ThreadStart(AddressOf SomeMethodName)
Now, I'm not saying this code is going to work. Also, if this is doing what I think it's doing, it's a REALLY bad idea to create and show a form from a thread that is not the UI thread (the one your app started on).
|
|
|
|
|
Thanks Dave, I believe I understand now...Right now I just want to get the project converted to VB so I can try and understand how it works in VB...yes starting another thread to create and show a form does look like a REALLY bad idea, now that you mention it.
thanks again for the help
Worked on my Machine!
|
|
|
|
|
Private Sub test()
Dim start As ThreadStart = Function() AnonymousMethod1()
HelpClass.Form.BeginInvoke(start)
End Sub
Private Function AnonymousMethod1() As Object
form = New TProgress(Nothing, port)
form.sport = sport
form.Show()
form.GetThread = New Thread(New ParameterizedThreadStart(AddressOf form.GetInvoke))
form.GetThread.Start(transfer)
Return Nothing
End Function
David Anton
Convert between VB, C#, C++, & Java (http://www.tangiblesoftwaresolutions.com)
|
|
|
|
|
|
Hi,
I have a small FTP class, written in VB.NET 2.0, which keeps polling for a particular file at a remote location, at 2 minute intervals, till it successfully downloads the file, and then it stops.
So far I had been using wget as an external process, and recently I have switched to using the FtpWebRequest class.
Now what i have noticed is that the first attempt always fails, even if the particular file is available on the remote server. The error returned is System.Net.WebException .
However, in the next run, after 2 minutes, the process succeeds, with exactly the same parameters.
The relevant part of the code:
Dim myFtpWebRequest As FtpWebRequest
Dim myFtpWebResponse As FtpWebResponse
Dim myStreamWriter As StreamWriter
Dim strURL As String = ""
strURL = "ftp://" & strFTPURL & strFTPFolder & strFileName
myFtpWebRequest = DirectCast(WebRequest.Create(strURL), FtpWebRequest)
myFtpWebRequest.KeepAlive = False
myFtpWebRequest.Timeout = 20000
myFtpWebRequest.UsePassive = blnUsePassive
myFtpWebRequest.UseBinary = True
myFtpWebRequest.Credentials = New NetworkCredential(strFTPUserName, strFTPPassword)
myFtpWebRequest.Method = WebRequestMethods.Ftp.DownloadFile
myFtpWebResponse = myFtpWebRequest.GetResponse()
Can someone throw some light on this?
Regards
RB
|
|
|
|
|
What is the error message IN the WebException?
|
|
|
|
|
The error thrown is "The operation has timed out"
Thanks/RB
|
|
|
|
|
First, do NOT send emails directly to a person. They will get back to your question when they can, NOT when you damand it. Sending me an a direct email to answer your question is extremely rude.
|
|
|
|
|
Relax, mate....I don't think there is an need to get hyper about it.
You have been most helpful in the past. My thinking is that posts that do not see much activity for more than a couple of days seldom get far, I thought it better to jog you into a response.
I am sorry if you take offense at such things.
RB
|
|
|
|
|
I have a datagridview with a button column as one of its column collection. The width of the button column is say 50 but the problem is the button editing control within the cell of that column is also having the same width as its parent column which looks awkward. I want to set the width of the button editing control small enough say 20 irrespective of its parent column width. Please help. Thanks.
|
|
|
|
|
As far as I can find, you'd have to create your own Column and Cell classes to implement this. Creating custom columns is WAY beyond the capacity of a forum post. I'd started by doing a bunch of research on creating custom DataGridView columns. Warning! This is NOT beginner level stuff...
|
|
|
|
|
It's not as simple as it sounds to get control of any window in VB .net.
I googled "getting text from a window" and got good results, but it only works for notepad. It doesn't work for media player.
I want the general control of window. for example what should i do if I want to control Windows Media Player (not the activeX within VB, i am talking about independent windows media player (9 or above) provided by Microsoft) like when i press a button on VB .net form it changes the song in WMP.
So I am calling it the general control. Can anyone tell me all possible controls that VB .net can do with other applications.
|
|
|
|
|
I am not entirely sure what it is that you want to do, but it sounds like you want to write a program with which you can control any other possible program. If that is the case, I seriously doubt it can be done in any sensible way, that is easier than just opening the program in question and pressing its own buttons instead.
The only thing that I can think of that comes even close to this: http://freelabs.info/MacroRecorder.aspx[^]
My advice is free, and you may get what you paid for.
|
|
|
|
|
I'd advise you to start look into hooking WMP.
|
|
|
|
|
Controls can be child windows of other controls, many levels deep. You have a couple of problems. First, it appears that you're only checking top level controls in a form and not the child controls that may be in them.
Also, if the technique you're using refers to WM_GETTEXT, the problem you may run into is that there is nothing that says a control must respond to that message. So, you may not get anything back.
Lastly, this method will not work at all with WPF applications.
Controlling other applications is exceedingly difficult and rarely ever ends up using "production quality" code.
|
|
|
|
|
Hello Experts,
I am designing columns in datagridview at design time and bind data at run time using dataset...But it shows in gridview my columns(designtime) and dataset column at a time. Waht to do with this?
I dont want to change column header order!!
It shows according to database column order!!
Please help!!
|
|
|
|
|
It is difficult to say, without seeing some code, but generally speaking when adding columns to a datagridview, you can determine all kinds of stuff per column, before you add it at run time. So you could look into resorting the columns at runtime after binding the data to them.
Another possibility, is to change the select clause in your query, so that the order of the columns will already be correct in the dataset.
My advice is free, and you may get what you paid for.
|
|
|
|
|
ya we can reorder it using select query command,
Thanks!!
But i have another query is grid result show desigtime columns as well as runtime columns too!!
Than how to solve this problem?
|
|
|
|
|
If I understood you correctly, it sounds like something is going wrong with the data binding. In other words, you have the columns from design time, and then when the data is bound during runtime, a new set of columns is created instead of the existing ones being used.
My advice is free, and you may get what you paid for.
|
|
|
|
|
A couple of things to check...
First, in your binding code, make sure that you set the DataGridView's AutoGenerateColumns property to False.
Next, make sure your Columns that you created are setup properly to bind to the appropriate table/column names in the dataset/datatable.
|
|
|
|
|
Check to see if there is a GenerateColumns or an AutoGenerateColumns property and set it to false. You may need to write additional code to bind the design-time columns with the columns in the dataset.
|
|
|
|
|
That autogenerate property coes into asp.net application but not in windows,i checked that one also!!
Any other way?
|
|
|
|
|
KIDYA wrote: That autogenerate property coes into asp.net application but not in windows
You might want to check again. DataGridView doesn't work under ASP.NET. It's a WindowForms only control. You can find the documentation on AutoGenerateColumns here[^].
|
|
|
|
|
Hi.
Is there a way to use runningvalue expression using more than one field
I want to be able to perhaps use an IFF based on condition and once that condition is true then grab data from another field whilst keeping the running value count etc. is that even achievable.
e.g.
IIf fields!automotive = "CARS" then runningvalue(!fields!carsid)
IIf fields!automotive = "HOUSE" then runningvalue(!fields!housevalue)
***THIS WILL CODE WILL BE IN ONE TEXTBOX in REPORT VIEWER ****
etc etc
is there a way to use IFF and runningvalue and switch fields whilst running value keeps is count down all rows and again this is to be behind one textbox field producing output on report.
I'd appreciate any assistance on wether this can be done using IFF and runningvalue or perhaps if there is another command/function that will work
Many Thanks
Robbo
|
|
|
|