Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2004-10-07
7
Medium Priority
?
166 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
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

Independent Software Vendors: 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!

Question has a verified solution.

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

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …

705 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