Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Misc Compile errors. That I can't figure out!!

Posted on 2004-10-07
7
Medium Priority
?
168 Views
Last Modified: 2012-05-05
What is this about! is this mutiple errors? Just one big one with many dependecies? Please please help.

___________________________
Service cannot be started. System.InvalidCastException: Cast from type 'StreamWriter' to type 'String' is not valid.
   at Microsoft.VisualBasic.CompilerServices.StringType.FromObject(Object Value)
     
   at PxpParser.PxpParser.WriteToFile(String pr_String) in C:\Thomas Huff\Visual Studio Projects\PxpParser\PxpParser.vb:line 209
 
   at PxpParser.PxpParser.StartWatch() in C:\Thomas Huff\Visual Studio Projects\PxpParser\PxpParser.vb:line 140
   
   at PxpParser.PxpParser.OnStart(String[] args) in C:\Thomas Huff\Visual Studio Projects\PxpParser\PxpParser.vb:line 363
   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

------------------

1 - Line 209 =
logsw = CObj(logobject.OpenText(CObj(logobject.AppendText(logfile))))

2 - Line 140 =
        WriteToFile("Setting Folder to watch:" & watcher.Path() & "Done" & " @ " & Date.UtcNow & vbNewLine)

3 - Line 363 =
 StartWatch()


Please Assist. I can't solve! Thanks!
0
Comment
Question by:croag
  • 4
  • 3
7 Comments
 
LVL 18

Expert Comment

by:mdougan
ID: 12252565
Hi croag,
> WriteToFile
The writeToFile function does not take a string as a parameter, rather, it takes a StreamWriter object.  


If you just want to write a string to a file, you'd do something like this:
        Dim fWriter As StreamWriter

            fWriter = System.IO.File.CreateText("C:\Code\text.txt")
            fWriter.Write("Hello World")
            fWriter.Close()

Cheers!
0
 
LVL 1

Author Comment

by:croag
ID: 12253727
THANK YOU for your quick response. So here is the WriteToFile Fuction that I"m using and the arguments aren't throwing a syntax error. What should I do different withing the code.....Where it writes to the actual file below, Right now, It says logsw.WriteLine(pr_String) cause thats what the argument that the fuction calls from, do you think If I can change the argument type to streamwriter passed to the function and then change another couple of things in this funciton..it will work? Please let me know. Thank you.


-----------------------------------------------------------------------------------------

    Public Function WriteToFile(ByVal pr_String As String)
        Dim logsw As StreamWriter
        Dim logfile As String = logs & "\PxpParser.log"
        Dim logobject As File

        If logobject.Exists(logfile) Then
            logsw = CObj(logobject.OpenText(CObj(logobject.AppendText(logfile))))
        ElseIf Not logobject.Exists(logfile) Then
            logsw = (CObj(logobject.CreateText(CObj(logobject.OpenText(CObj(logobject.AppendText(logfile)))))))
        End If
   
     'Write to the file
        logsw.WriteLine(pr_String)

       
        'Set the Value of pr_String back to NULL - Just to be safe
                pr_String = ""

       
        'Close the Stream Writer
                logsw.Close()

    End Function
-------------------------------------------------------------------------------------------------
0
 
LVL 18

Expert Comment

by:mdougan
ID: 12254066
Ohhhhh..... that could be the problem... there is a .NET function named WriteToFile, and it's very likely that your compile error is checking your function call against the .NET WriteToFile function and not yours... a quick test would be to rename your MyWriteToFile and change all the calls to call that instead and see if you still get the compile error.

Second of all, it's not clear to me why you have all the cast to CObj statements in your code... I think you could get rid of those completely... secondly, on the Else condition for this if statement:

If logobject.Exists(logfile)

You don't have to say   Elseif.... because if the object.Exists is false, then by definition, it doesn't exist.  

Hope that helps!
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:croag
ID: 12254343
Oh man...Thank you..I'm going to try that one right now!

hmmmmmmmokay darn...same errors. Time to try taking out the Obj casting



NOpe...it loooks like i HAVE to use object casting..is it bad to cast so much like that?



Please hlep me more!!!
0
 
LVL 18

Accepted Solution

by:
mdougan earned 1020 total points
ID: 12254642
OK, it always helps if I actually compile and test the solution first ;)  see changes below  

 Public Function WriteToFile(ByVal pr_String As String)
        Dim logsw As StreamWriter
        Dim logfile As String = "C:\PxpParser.log"
        Dim fi As New FileInfo(logfile)
        Dim logobject As File

        If logobject.Exists(logfile) Then
            logsw = fi.AppendText()
        Else
            logsw = System.IO.File.CreateText(logfile)
        End If

        'Write to the file
        logsw.WriteLine(pr_String)

        'Set the Value of pr_String back to NULL - Just to be safe
        'pr_String = ""   
        'This is not necessary, as you're passing pr_String by value so, it's going to disappear at the end of the procedure

        'Flush the buffer
        logsw.Flush()
        'Close the Stream Writer
        logsw.Close()

    End Function
0
 
LVL 1

Author Comment

by:croag
ID: 12261505
Dude....mdougan, You are the man!!!!!!!!! Thank you sooo much man. Thank you!!!!! that was it!
You are THE man!!!!!!!!!!!!!!!!! Thank you ..I may have a more questions for yoU!..Thank you!!!!. YES!..Thank you!..I am sooooo happy
0
 
LVL 18

Expert Comment

by:mdougan
ID: 12262406
sure, my pleasure :)  I've been away from EE for a while, nice to be back
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
We’ve all felt that sense of false security before—locking down external access to a database or component and feeling like we’ve done all we need to do to secure company data. But that feeling is fleeting. Attacks these days can happen in many w…
Suggested Courses
Course of the Month13 days, 3 hours left to enroll

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question