TStringList->LoadFromFile throws exception

c++ builder

    Sponsored Links

    Next

  • 1. CMMouseEnter doesn't works
    i use this code: //button .h class TMyButton : public TImage { private: void __fastcall CMMouseEnter(TMessage &Message); void __fastcall CMMouseLeave(TMessage &Message); TNotifyEvent FOnMouseEnter; TNotifyEvent FOnMouseLeave; public: __fastcall TMyButton(TComponent *Owner); __published: __property TNotifyEvent OnMouseEnter = {read=FOnMouseEnter, write=FOnMouseEnter}; __property TNotifyEvent OnMouseLeave = {read=FOnMouseLeave, write=FOnMouseLeave}; //button .cpp void __fastcall TMyButton::CMMouseEnter(TMessage &Message) { if( FOnMouseEnter ) FOnMouseEnter(this); ShowMessage("ciao"); ///here TImage::Dispatch(&Message); } //main TMyButton *Button = new TMyButton(this); Button->Parent = Panel; Button->Name = "Button" + IntToStr(n); Button->Width = 25; Button->Height = 30; The problem is that when i move the mouse over the object it doens't show the message. why? Futhermore can u explain me how does works CMMouseEnter and what are all the things declarend in the .h file? Really tnx at all can answer me.
  • 2. CBuilder link error, package don't exist.
    I build a package, and rename it. a project use the removed package. how do I change the project link to new package?
  • 3. MFC CWnd::Attach
    Hi there I'm doing a clock replacement. So far the thing is going smoothly but I want to handle window drawings with VCL components like TWinControl and derivates. I used to use in VC++ the MFC CWnd::Attach method. Is there any easy way to make the same.... or even better using VCL? override some methods and that kind of stuff? Thanks in advance.
  • 4. activate TRadioGroup
    Hi, How can I activate (check) the first radiobutton in a TradioGroup (rgRadios). This doesn't work: rgRadios->Controls[0]->Enabled = true; I am using BC6 Thanks,
  • 5. Minimizing a path via: MinimizeName() for TMenuItem...
    hi dear builders, can someone tell me how its possible to minimize a path to a file like: "C:\Windows\System32\XXXXXXXX\YYYYYYYY\ZZZZZZZZZZ\My Programm.exe" into: "C:\Windows\...\My Programm.exe" I found a snip but it only takes a TStaticText...I need a TMenuItem, the problem here is that TMenuItem doesn't have: ->Font property so what is the solution...? Oren /*****************************************************/ #include <filectrl.hpp> void TForm1::ShowFileName(AnsiString str, TStaticText *ST) { TCanvas *Canvas=new TCanvas(); Canvas->Handle=GetDC(ST->Handle); Canvas->Font->Assign(ST->Font); ST->Caption=MinimizeName(str, Canvas, ST->Width); ReleaseDC(ST->Handle, Canvas->Handle); delete Canvas; } /*****************************************************/

TStringList->LoadFromFile throws exception

Postby mataus » Tue, 17 Jun 2008 08:23:31 GMT

Hello all.

I have problem with TStringList->LoadFromFile().  I have to make a program 
that shows information from text log file.  The file is always opened by a 
second program that keeps writtin .

When i call TStringList->LoadFromFile() i get exception "Cannot open file 
C:\Program Files\Company\event log.txt".  I think this is becuase log file 
is openned, by second program.  But notepad can open the file.

Can anyone help me?

matus 



Re: TStringList->LoadFromFile throws exception

Postby Remy Lebeau (TeamB) » Wed, 18 Jun 2008 02:08:38 GMT







TStrings::LoadFromFile() attempts to open the file with fmShareDenyWrite 
sharing rights specified.  Since your other app already has the file opened 
for writing, such access will always fail while the other app is using the 
file.  To get around it, you will have to use LoadFromStream() instead. 
That way, you can instantiate your own TFileStream with less restrictive 
sharing rights specified, ie:

    TFileStream *Stream = new TFileStream(FileName, fmOpenRead | 
fmShareDenyNone);
    try
    {
        Strings->LoadFromStream(Stream);
    }
    __finally
    {
        delete Stream;
    }


Gambit 



Re: TStringList->LoadFromFile throws exception

Postby Mark Jacobs » Wed, 18 Jun 2008 22:52:34 GMT





That is a lovely example. Thanks Remy.
-- 
Mark Jacobs
 http://www.**--****.com/  



Similar Threads:

1.throw new Exception() vs. throw Exception()

What is the difference between these two?:

throw new Exception("msg");

throw Exception("msg");


When should I use one vs. the other? 


2.TRegistry->WriteBool() throws exception

Hi all,

I know this might be trivial, but I couldn't locate any post on this with 
search, so I'll have to ask it.

I'm using TRegistry to access the Registry, when I tried to use 
WriteBool(ValName, Value), BCB always give me an exception upon compiling:

Project TCPrinter.exe raised an exception class ERegistryException with 
message 'Failed to set data for 'AutoMode''. Process stopped.

The problem sourced from this block of code:

void __fastcall TForm1::AutoCheckClick(TObject *Sender)
{
    TRegistry *reg = new TRegistry;
    reg->WriteBool("AutoMode", AutoCheck->Checked);
    delete reg;
}

AutoCheck is a TCheckBox, AutoMode is the Registry Value Name.

The strange thing is, it's thrown upon compiling, I haven't triggered the 
event yet. I do have a reg->ReadBool() in the constructor, but it never 
caused any problem. I deleted the reg at the end of the constructor, so it's 
not object conflict problem...

Anyone have any idea what's wrong? Thanks in advance. 


3.Can basic_string<>::c_str() throw exceptions?

  Hi all.

  I was wondering. Can the standard basic_string<> c_str()
member function throw any exceptions? Is it perhaps
implementation dependent?

  I tried checking the standard and as far as I can see it is
implementation dependent with no guarantees what so
ever, but I was hoping I may have missed something... :-)

  When the C++ standard does not specify any exception
specifications for some function, nor does it list any
exceptions in the function description. Does that mean
that any exception may be thrown? If that is so, how are
we supposed to prepare for those exceptions in our code
other than 'something happened, I do not know what, but
it was not expected so I'm aborting...'.

  Hope to hear from you soon.

  Regards,
    Jurko Gospodneti?


4.TBitmap.LoadFromFile() throws Stream Error?

Hello all, 

I'm new to Delphi 2005, and have a problem I'm having a difficult time
solving.

I have an OwnerDraw TListbox  where basically I'm just drawing
thumbnails of .BMP files in a folder. It works fine, except on SOME
files, the TBitmap.LoadFromFile() throws a stream error.

I can't seem to find out why it does it on these particular .BMP
files. Here's a snippet of the very vanilla code...

...
 with (Control as TListBox).Canvas do
  begin
    FillRect(Rect);
     If Not FileExists(myListbox.Items[Index]) Then Exit;
        Bitmap:=TBitmap.Create;
        if Bitmap<>nil then
        begin
          //
          // Bitmap.PixelFormat := pf24bit; //tryed setting this..it
          // didnt help
          //
          Bitmap.LoadFromFile( myListbox.Items[Index] ); 
           R:=Bounds(
              Rect.Left+10,
              Rect.Top+4,
              Round(100*BitRatio),
              Rect.Bottom-Rect.top-2);
          StretchDraw(R,Bitmap);
          Bitmap.Free;
     end;
   end;
...

The BMP files are small...just approx 98x98
I have found that if I open the troublesome .BMP files and reduce the
color depth to 32K and resave, it makes the stream error disappear. Is
there anything I'm doing obviously wrong in the code? Or is it just
the .BMP files were saved 'strangley'?



5.TSTringList LoadFromFile

"Chad Eddy" < XXXX@XXXXX.COM > wrote in message
news:3f15b185$ XXXX@XXXXX.COM ...
> I am using a TStringList to load files and do some file
> I/O on them.  This works with most files, but not with
> the .doc and .chm's that I try.

Those are not plain-text formats.  Well, .doc may be, but only if it is
encoded in RTF formatting.

> After the load from file, I have a count of 1 line, which
> has a small amount of charachters.

Probably because those formats have binary data in them that is preventing
LoadFromFile() from parsing the entire file.  LoadFromFile() only works
correctly for plain-text files.

> Is there something I have to do different for some files?

Yes - don't use TStringList for what you are trying to do.  Access the file
directly.


Gambit


6. Faster TStringList.LoadFromFile

7. TRichEdit->Lines->LoadFromFile( ) filesize warning...

8. Hidden TPanel does not resize when TImage->Picture->LoadFromFile



Return to c++ builder

 

Who is online

Users browsing this forum: No registered users and 68 guest