|
What?
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I'm a beginner at programming, so please bear with me as I explain what I would like to achieve.
I'm writing a very simple program using VB Express 2008. The program will simplify a CD burning process for an audio project that I'm working on. Basically, clicking a button on my form will start the command line version of the program CDBurnerXP[^]. A list of the command line arguments for CDBurnerXP can be found here[^].
I realize I could do this with a simple script, however I would like to do this from within a VB program because additional capabilities will be added to the program.
Here is the click event code for the Burn CD Button on my form:
Private Sub ButtonBurnCD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBurnCD.Click
Dim p As New ProcessStartInfo
p.FileName = "C:\Program Files (x86)\CDBurnerXP\cdbxpcmd.exe"
p.Arguments = "--burn-audio" & "-device0" & "-tao" & "-close" & "-file:"C:\Users\Account\Desktop\FolderX\audio.mp3""
Process.Start(p)
End Sub
Theoretically, this should burn the audio.mp3 file to cd. Unfortunately, all that happens is that the Command Prompt window briefly comes up with the name of the CD drive (i.e., the name of device0). I have checked that I'm using the right arguments by typing the following at the Command Prompt:
"C:\Program Files (x86)\CDBurnerXP\cdbxpcmd.exe" --burn-audio -device0 -tao -file:"C:\Users\Account\Desktop\FolderX\audio.mp3"
This does work, and the file gets burned to CD.
I'm pretty sure the problem lies in the p.Arguments line, but I'm not sure what I'm doing wrong. Any ideas?
|
|
|
|
|
Not toally sure, but why concatenate your p.Arguments line with lots of small strings joined with & ? As it is, when joined you have not allowed for any whitespace, so you will be passing all the paramters joined together, as
--burn-audio-device0-tao-file:"C:\Users\Account\Desktop\FolderX\audio.mp3
which will no doubt error.
Just write it as one long string, with spaces
|
|
|
|
|
Wombaticus, thanks for the reply. That was indeed the problem!
|
|
|
|
|
I inserted CHR(34 ) into the string to cause a quote to be inserted into the p.Arguments string.
p.Arguments = "--burn -audio -device0 -tao -close -file:" & _
CHR(34) & "C:\Users\Account\Desktop\FolderX\audio.mp3" & CHR(34)
|
|
|
|
|
Hello !
How to create a Torrent dowloader in VB.NET ?
please help me.
By Root
|
|
|
|
|
You're not going to get an answer to this question.
Asking such a vague and broad question usually gets ignored or responses like this:
Well, you start by doing research on the Torrent communication protocol and understanding precisely how it works. Then you lay out a set of requirements for your application.
|
|
|
|
|
You will have to write a lot of code.
Where are you stuck?
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I created a windows service to monitor a directory and import any files that are created there. I can see from the eventviewer that the FileSystemWatcher must not be instantiated properly because it errors on the line where I try to assign the directory to be watched to the filesystemwatcher.
Imports System.IO
Imports System.Diagnostics
Public Class PPLabImportService
Private WithEvents _fsWatcher As FileSystemWatcher
Protected Overrides Sub OnStart(ByVal args() As String)
_fsWatcher = New FileSystemWatcher
Dim strDir As String =
System.Configuration.ConfigurationManager.AppSettings
("ImportDirPath")
_fsWatcher.Path = strDir
I have confirmed that strDir has a valid string value, but that last line always throws a nullException error as if it doesn't know what _fsWatcher is.
This code worked perfectly fine as a windows form app. It is only the windows service version that doesn't seem to work.
Could someone please point out the probably bonehead error I am making in declaring the FileSystemWatcher?
|
|
|
|
|
Here is what i have in my Service ...
You seem to have the same thing.
Maybe you can write your own detailed log to show your execution of the service.
Create a streamwriter which writes data to a "TEMP" folder.
Good luck.
Private Sub WatchForNewFiles()
Dim watcher As New FileSystemWatcher()
watcher.Path = gsWatcherPath
watcher.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName)
watcher.Filter = "*." + gsWatcherExtension
AddHandler watcher.Created, AddressOf OnChanged
watcher.EnableRaisingEvents = True
End Sub
|
|
|
|
|
Hi David,
Thanks for responding. I have already logged each and every step to the eventviewer and that's why I'm positive that it's the last step shown which causes the error. That FileSystemWatcher is just nothing and therefore I can't assign the path to it.
The difference between your code and mine is that you declare the FileSystemWatcher as a local variable in your sub, whereas I declare it as a class variable and then try to instantiate it in the sub.
The reason I do this is because I want to be able to "close" the filesystemwatcher in the OnStop event. I found, when this was written as a windows form, that just closing the app without stopping the watcher caused all sorts of problems. So I wanted to be good about it as a service as well and dispose of it properly when/if the service stops so that it can be cleanly started again.
But somehow this declaration which works in the forms app throws an error in the service app.
Any ideas?
|
|
|
|
|
Could there be a threading issue? Try putting a lock around those lines of code.
Since you did not show the error message (just wrote down what you thought it is), it might be something totally different. E.g. the Windows service runs with a different account than your interactive user - and it might not be able to access the folder, because for the service it does not exist: e.g. a folder on a mapped network drive or a UNC path the service's account has no access rights for.
|
|
|
|
|
Hi Bernjard - thanks for trying to help. The exact error message is Service cannot be started. System.NullReferenceException: Object reference not set to an instance of an object.
I had lots of logging put in and it definitely occurs on the first line that tries to set a property of the fileSystemwatcher.
Before I was able to see the actual error and narrow it down to that line of code, I definitely thought about it being a permissions issue. I set the service to run with my own credentials (the same as the windows versions) and it made no difference.
It's interesting that you mention threading because I also tried kicking it off by starting a new thread in the OnStart but that made no difference either.
In all those scenarios I still get a null reference exception whenever I try to set a property of the FileSystemWatcher.
|
|
|
|
|
|
Hello All,
I am new to VBS I have one query regarding the find and replace the entire text file.So kindly help me in this regard will be thankful to all the members.
My Textfile contains the below mentioned lines for example:
1 .1.39 d:\Sandbox\BMW35UP_I390_1.422\Architecture\BSW\CobraModel\project.pj (1.39)
2 .1.39 d:\Sandbox\BMW35UP_I390_1.422\Architecture\BSW\CobraModel\CobraModel_rpy\project.pj (1.39)
3.1.38 d:\Sandbox\BMW35UP_I390_1.422\Architecture\BSW\CobraModel\CobraModel_rpy\CoreDep\project.pj
4./SCS/COBRA/04_Platform/02_Architecture/05_UmlModel/CobraModel/CobraModel_rpy/CoreDeployment/DualCore/DualCore.sbs 1.5 d:\Sandbox\BMW35UP_I390_1.422\Architecture\BSW\CobraModel\CobraModel_rpy\CoreDeployment\DualCore\DualCore.sbs
These are the four lines sample in text file there are around 30,000 lines in the same way.
my question is remove all the lines starting with (Example:1.39,etc(numbers)) and create a new text file with removing the above lines.
Hope i can get response very quickly.
Thank you
Sampath
|
|
|
|
|
You are new to VBS... What regular expression have you tried in any other language?
And, if you want help, show the regular expression you have working and then how you are trying to implement it in VBS.
Tim
|
|
|
|
|
Where exactly are you stuck?
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Hello !
I'm using vb.net 2013.I have 3 forms : Form1, Form2, Form3
On form1 I have a button . When this button is pressed , the form2 is open.The code inside the click event is :
Dim dlg1 As New Form2
dlg1.Show(Me)
Inside From2 I have a TextBox (Txt1) and a button .When this button is clicked the Form3 is open.The code inside the click event is :
Dim dlg2 As New Form3
dlg2.Show(Me)
Inside form3 I have a button that I use to set a value in the textbox (txt1) on Form2. I use this code :
Form2.txt1.Text="123"
The problem is that after I press the button on form3 , the textbox on form2 is empty , no value is set.
What can I do ?
Thank you !
|
|
|
|
|
Show your exact code. It's impossible to tell what's wrong from those tiny snippets. And put the code between <pre> </pre> tags to preserve the formatting.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
The problem is because of incorrect referencing.
Consider this:
You are creating an Instance of Form2 as dlg1 and then trying to set value inside Form2 (which isn't loaded). This creates a new instance of Form2 and you see the blank values.
Basically what you are trying to do is to return value from custom designed dialog forms - right !
Try this:
Declare a Public Variable in Form1 to hold Form2 value
Public Form2VAL as string
On Form1 Button Click write:
Dim dlg1 as new Form2
dlg1.showdialog
msgbox (Form2Val)
Form2Val = nothing
On Form2 Button Click write:
Form1.Form2Val = "SomeValue"
Me.close
Similarly for Form3, Declare a Public Variable in Form2 to hold Form3 value
Public Form3VAL as string
On Form2 Button Click write
Dim dlg2 as new Form3
dlg2.showdialog
msgbox (Form3Val)
Form3Val = nothing
On Form3 Button Click write:
Form2.Form3Val = "SomeValue"
Me.close
|
|
|
|
|
can anyone help me to create .exe while creating exe its asking demo version sherdian controls i tried many things like threed32.ocx regedit etc but all in vain
error : licensed not found
|
|
|
|
|
zuber ahmed wrote: error : licensed not found Please don't repost. Mycroft[^] is right.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
can anyone help me to create .exe while creating exe its asking demo version sherdian controls i tried many things like threed32.ocx regedit etc but all in vain
error : licensed not found
|
|
|
|
|
Looking at these results [^] and your comments you are trying to use a demonstration versions of a retired tool set, possibly in VB6, a dead language. You may have an unresolvable problem doing that.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
It is not clear at all what you are asking.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|