📄 read.cgi-read=9968.htm
字号:
<HTML><HEAD><TITLE>Re: Please clarify</TITLE>
</HEAD><BODY background="../fancyhome/back.gif" tppabs="http://www.codeguru.com/fancyhome/back.gif" bgcolor="#FFFFFF">
<table WIDTH="100%"> <tr WIDTH="100%"> <td><table>
<tr><td><img src="../mfc_sourcebook.jpg" tppabs="http://www.codeguru.com/mfc_sourcebook.jpg"
ALT="MFC Programmer's SourceBook" WIDTH="256"
HEIGHT="88"><td></tr>
<tr><td valign="bottom"><font SIZE="+1"
color="#a0a0ff"><b>Discussion Board</b></font></td></tr>
</table></td> <td width="40"></td>
<td align="right" valign="top"><A HREF="http://209.66.99.126/cgi/ads.cgi?advert=catalyst"><IMG SRC="../banners/catalyst.jpg" tppabs="http://www.codeguru.com/banners/catalyst.jpg" HEIGHT=60 WIDTH=468 ALT="Catalyst Development" BORDER=2></A><BR><SMALL><A HREF="http://209.66.99.126/cgi/ads.cgi?advert=catalyst">Click here for Free ActiveX Control</A></SMALL><td> </tr> </table> <hr><P ALIGN=CENTER>[ <A HREF="#Responses">Read Responses</A> | <A HREF="#PostResponse">Post a New Response</A> | <A HREF="index.cgi.htm" tppabs="http://www.codeguru.com/mfc_bbs/index.cgi">Return to the Index</A> ]
<A HREF="read.cgi-read=9924.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9924">Previous in Thread</A> | <A HREF="read.cgi-read=9971.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9971">Next in Thread</A><P ALIGN=CENTER><BIG><BIG><BIG><STRONG>Re: Please clarify</STRONG></BIG></BIG></BIG>
<P ALIGN=CENTER><EM>Posted by <STRONG><A HREF="mailto:hansw@flash.net">Hans Wedemeyer</A></STRONG> on <STRONG>4/21/98 10:27a.m.</STRONG>, in response to <A HREF="read.cgi-read=9924.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9924">Re: Please clarify</A>, posted by Andreas on 4/21/98 1:41a.m.</EM></P>
<!-- REMOTE_HOST: 209.30.69.156; REMOTE_ADDR: 209.30.69.156-->
<P>Andreas, thnaks for the reply, I actually open read close then when I want to do it again I do open Error message can't open file !
<BR>Here's a little more detail, I appreciate the help.
<P>MyProjectFile is a Modal dialog , and is passed the file name to use.
<BR>When the work is complete, the user does OK and the DoModal() ends, and the
<BR>calling function also ends, which means the Modal dialog really has gone...
<BR>the calling function
<BR>{
<BR> MyProjectFile* pDlg( strFName, more pointers and stuff );
<P> pDlg->DoModal();
<BR>}
<P>Later the user may decide to re-open the pproject file ( for any number of
<BR>reasons) and
<P> MyProjectFile* pDlg( strFName );
<P> pDlg->DoModal();
<P>is repeated elsewhere when needed.
<P>Now I expect the file to be closed, as you see the MyProjectFile
<BR>OnInitDialog() opens it and closes it.
<BR>How come the file is still reported as being open, when the
<BR>whole thing has disappeared from memory and even if I had forgotten to close
<BR>the file ( which I don't) the CFile destructor will have closed it when the
<BR>MyProjectFile goes out of scope.
<P>I wish CFile had something like IsOpen(). or ReOpenLastFile()
<P>Anyway, if I try to reuse the old file that CFile claims is already open, it
<BR>crashes...
<P>I don't know, this sound simple Open read Close Open read crash .... who ever
<BR>said MFC was simple !
<P>if I replace the CFile with
<P>FILE* fpt
<BR>fpt = fopen( what's needed );
<BR> read
<BR>fclose (fpt);
<P>fpt = fopen( what's needed );
<BR> read
<BR>fclose (fpt);
<P>fpt = fopen( what's needed );
<BR> read
<BR>fclose (fpt);
<P>I can do that all day long...
<P>Any help or suggestion as to where the problem could be is welcome.
<P>regards
<BR>Hans Wedemeyer
<BR>--------------------------------------------------------------
<BR>MyProjectFile code that opens reads and closes the file
<P>m_strTheFileName = strFName; // is passed to the dialog contructor.
<P>BOOL MyProjectFile::OnInitDialog()
<BR>{
<BR>// first get the file name, open the file and read it
<BR>CFile fpt;
<BR>if ( fpt.Open ( m_strTheFileName, CFile::modeRead, &FileError ) == NULL )
<BR>{
<BR> no go! something wrong error 11!, but it was closed last time it was used!
<BR> This IS the only place it's used, notice the first time it's used,
<BR> it's close afterwards
<P>}
<BR>else
<BR>{
<BR> use the file read the contents.
<P> fpt.Close(); // close it
<BR>}
<P>}
<P>
</P>
<A NAME="Responses"><HR></A><P ALIGN=CENTER><BIG><BIG><STRONG>Responses</STRONG></BIG></BIG>
<P><UL><LI><STRONG><A HREF="read.cgi-read=9971.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9971">Re: Please clarify</A></STRONG> : J黵gen Kraus -- <EM>4/21/98 11:24a.m.</EM>
<UL>
</UL>
</UL></P>
<A NAME="PostResponse"><HR></A><P ALIGN=CENTER><BIG><BIG><STRONG>Post a New Response</STRONG></BIG></BIG>
<P><FORM METHOD=POST ACTION="http://www.codeguru.com/mfc_bbs/index.cgi?post">
<INPUT TYPE=HIDDEN NAME="followup" VALUE="9968">
<P><CENTER><TABLE><TR>
<TD ALIGN=RIGHT><P><STRONG>Your Name:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="name" SIZE=40></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>E-Mail Address:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="email" SIZE=40></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Subject:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="subject" SIZE=40 VALUE="Re: Please clarify"></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><P><STRONG>Message:</STRONG><BR><TEXTAREA COLS=80 ROWS=15 NAME="body" WRAP=PHYSICAL>
</TEXTAREA></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like to include a link to another page with your message,<BR>please provide both the URL address and the title of the page:</SMALL></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Link URL:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="url" SIZE=40 VALUE="http://"></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Link Title:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="url_title" SIZE=40></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like to include an image (picture) with your message,<BR>please provide the URL address of the image file:</SMALL></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Image URL:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="imageurl" SIZE=40 VALUE="http://"></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like e-mail notification of responses, please check this box:</SMALL> <INPUT TYPE=CHECKBOX NAME="wantnotice" CHECKED VALUE="yes"></TD></TR><TR>
<TH COLSPAN=2><HR WIDTH=50%><P><INPUT TYPE=SUBMIT NAME="Preview" VALUE="Preview Message"> <INPUT TYPE=SUBMIT NAME="Post" VALUE="Post Message"></TH></TR></TABLE></CENTER></P></FORM>
<HR><P ALIGN=CENTER><SMALL>The MFC Discussion Board is maintained with <STRONG><A HREF="http://awsd.com/scripts/webbbs/">WebBBS 2.24</A></STRONG>.</SMALL></P>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -