RE: While Loop with a StreamReader process included for fun
RE: While Loop with a StreamReader process included for fun
am 19.12.2007 05:20:00 von MohamadElarabi
You are currently dimming a single streamreader, not initializing it, and
then initializing it over and over in your loop.
There might be a better way of doing this and it actually confirms that the
object is destroyed. That is by using the "Using" clause. The "Using" clause
makes sure the object is completely destroyed outside the Using range.
Example:
While . . .
'Insert code to populate sFilePath
Using Import_File_Reader as New System.IO.StreamReader(sFilePath)
... Extract data from file. etc
'No need to destroy the file reader it is automatically destroyed by
the engine.
End Using
End While
Let me know if that helps. Good luck.
--
Mohamad Elarabi
Lead Developer. MCTS, MCPD.
"William Foster" wrote:
> Good evening all,
>
> I am trying to write a process that uses a while loop to cycle multiple
> files from an array throught the StreamReader Process.
>
> The whole thing works using:
>
> Dim Import_File_Reader As System.IO.StreamReader
>
> While ...
> Import_File_Reader = New StreamReader(Import_File_and_Path)
> .... Extract all the data I want then start again ....
> End While
>
> However, when I get to the second run through it always return an error
> saying that there was an illegal character included in the
> Import_File_and_Path variable; on checking there are no illegal characters.
> All I can think is that without closing off the Import_File_Reader variable
> before running through the While loop for a second time it will not work,
> however, when I add in Import_File_Reader.Close towards the bottom of the
> While Loop it still doesn't work [The same error is returned].
>
> I am a bit lost know, if anyone has any ideas on how to get this to work it
> would be greatly appreciated if you could respond to this query as I am left
> with the option of opening every file seperately through different variables
> if this doesn't work; and with over 700 files to be opened I am not liking
> that option.
>
> Yours sincerely,
>
> William Foster
RE: While Loop with a StreamReader process included for fun
am 19.12.2007 11:35:01 von WilliamFoster
Mohamad,
Thanks for your assistance, on the good side your recommendation has
certainly improved my coding. On the bad side it did not resolve my error;
on further investigation [painful investigation] I found that I had misplaced
a vbCr within a seperate process which was coming into causing the error.
Thanks for your help!
William Foster
"Mohamad Elarabi" wrote:
> You are currently dimming a single streamreader, not initializing it, and
> then initializing it over and over in your loop.
>
> There might be a better way of doing this and it actually confirms that the
> object is destroyed. That is by using the "Using" clause. The "Using" clause
> makes sure the object is completely destroyed outside the Using range.
>
> Example:
>
> While . . .
> 'Insert code to populate sFilePath
> Using Import_File_Reader as New System.IO.StreamReader(sFilePath)
> ... Extract data from file. etc
> 'No need to destroy the file reader it is automatically destroyed by
> the engine.
> End Using
> End While
>
> Let me know if that helps. Good luck.
>
> --
> Mohamad Elarabi
> Lead Developer. MCTS, MCPD.
>
>
> "William Foster" wrote:
>
> > Good evening all,
> >
> > I am trying to write a process that uses a while loop to cycle multiple
> > files from an array throught the StreamReader Process.
> >
> > The whole thing works using:
> >
> > Dim Import_File_Reader As System.IO.StreamReader
> >
> > While ...
> > Import_File_Reader = New StreamReader(Import_File_and_Path)
> > .... Extract all the data I want then start again ....
> > End While
> >
> > However, when I get to the second run through it always return an error
> > saying that there was an illegal character included in the
> > Import_File_and_Path variable; on checking there are no illegal characters.
> > All I can think is that without closing off the Import_File_Reader variable
> > before running through the While loop for a second time it will not work,
> > however, when I add in Import_File_Reader.Close towards the bottom of the
> > While Loop it still doesn't work [The same error is returned].
> >
> > I am a bit lost know, if anyone has any ideas on how to get this to work it
> > would be greatly appreciated if you could respond to this query as I am left
> > with the option of opening every file seperately through different variables
> > if this doesn't work; and with over 700 files to be opened I am not liking
> > that option.
> >
> > Yours sincerely,
> >
> > William Foster
RE: While Loop with a StreamReader process included for fun
am 19.12.2007 12:11:01 von MohamadElarabi
William, happy to help and happier you found the problem. :) Debugging
something like this might feel like shooting in the dark :) I was mainly
trying to address your concern that the object isn't clearing. But I'm glad
that the error message was more relevant to the problem than just the object
not clearing.
Thanks,
--
Mohamad Elarabi
Lead Developer. MCTS, MCPD.
"William Foster" wrote:
> Mohamad,
>
> Thanks for your assistance, on the good side your recommendation has
> certainly improved my coding. On the bad side it did not resolve my error;
> on further investigation [painful investigation] I found that I had misplaced
> a vbCr within a seperate process which was coming into causing the error.
>
> Thanks for your help!
>
> William Foster
>
> "Mohamad Elarabi" wrote:
>
> > You are currently dimming a single streamreader, not initializing it, and
> > then initializing it over and over in your loop.
> >
> > There might be a better way of doing this and it actually confirms that the
> > object is destroyed. That is by using the "Using" clause. The "Using" clause
> > makes sure the object is completely destroyed outside the Using range.
> >
> > Example:
> >
> > While . . .
> > 'Insert code to populate sFilePath
> > Using Import_File_Reader as New System.IO.StreamReader(sFilePath)
> > ... Extract data from file. etc
> > 'No need to destroy the file reader it is automatically destroyed by
> > the engine.
> > End Using
> > End While
> >
> > Let me know if that helps. Good luck.
> >
> > --
> > Mohamad Elarabi
> > Lead Developer. MCTS, MCPD.
> >
> >
> > "William Foster" wrote:
> >
> > > Good evening all,
> > >
> > > I am trying to write a process that uses a while loop to cycle multiple
> > > files from an array throught the StreamReader Process.
> > >
> > > The whole thing works using:
> > >
> > > Dim Import_File_Reader As System.IO.StreamReader
> > >
> > > While ...
> > > Import_File_Reader = New StreamReader(Import_File_and_Path)
> > > .... Extract all the data I want then start again ....
> > > End While
> > >
> > > However, when I get to the second run through it always return an error
> > > saying that there was an illegal character included in the
> > > Import_File_and_Path variable; on checking there are no illegal characters.
> > > All I can think is that without closing off the Import_File_Reader variable
> > > before running through the While loop for a second time it will not work,
> > > however, when I add in Import_File_Reader.Close towards the bottom of the
> > > While Loop it still doesn't work [The same error is returned].
> > >
> > > I am a bit lost know, if anyone has any ideas on how to get this to work it
> > > would be greatly appreciated if you could respond to this query as I am left
> > > with the option of opening every file seperately through different variables
> > > if this doesn't work; and with over 700 files to be opened I am not liking
> > > that option.
> > >
> > > Yours sincerely,
> > >
> > > William Foster