Resource embedding problem

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Srinidhi

    Resource embedding problem

    I'm trying to embed a report (.rdlc) file in my project. But it always stays
    as linked. The 'Persistance' property is grayed & always set to 'Linked at
    compile time'.
    Upon further inspection i saw that only graphic files, icons & wave files
    were able to be embeded. How can i embed other file types? Especially my
    report files.



  • Jeroen Mostert

    #2
    Re: Resource embedding problem

    Srinidhi wrote:
    I'm trying to embed a report (.rdlc) file in my project. But it always stays
    as linked. The 'Persistance' property is grayed & always set to 'Linked at
    compile time'.
    Upon further inspection i saw that only graphic files, icons & wave files
    were able to be embeded. How can i embed other file types? Especially my
    report files.
    >
    The terminology is confusing. "Linked" here doesn't mean "remains as a
    separate file" but "is linked together with the .EXE". A "linked" file is
    still embedded in your .EXE, it just isn't embedded in the .RESX file. This
    should make no functional difference.

    If you really want to stuff it in the .RESX for some reason, you can, but
    only clumsily: convert the file to a Base64-encoded string and store it as a
    string resource. This has storage overhead and also complicates using the
    resource.

    --
    J.

    Comment

    • Srinidhi

      #3
      Re: Resource embedding problem

      Hello,
      You're right. The resources are actually embeded in the exe. I checked it
      inside the exe.
      Thanks a lot for telling me. I'd have never known otherwise.
      But i wonder why i cannot specify the embeded report name and get the
      report.

      If i use this code for Eg:
      ReportViewer1.L ocalReport.Repo rtEmbeddedResou rce = "EmbReport1 ";

      This error pops up in the report control
      "An error occured during local report processing. The report definition for
      report
      'EmbReport1' has not been specified"

      I have no problem getting the report with this instead
      ReportViewer1.L ocalReport..Rep ortPath=***\*** .rdlc

      "Jeroen Mostert" <jmostert@xs4al l.nlwrote in message
      news:48f07880$0 $185$e4fe514c@n ews.xs4all.nl.. .
      Srinidhi wrote:
      >I'm trying to embed a report (.rdlc) file in my project. But it always
      >stays
      >as linked. The 'Persistance' property is grayed & always set to 'Linked
      >at
      >compile time'.
      >Upon further inspection i saw that only graphic files, icons & wave files
      >were able to be embeded. How can i embed other file types? Especially my
      >report files.
      >>
      The terminology is confusing. "Linked" here doesn't mean "remains as a
      separate file" but "is linked together with the .EXE". A "linked" file is
      still embedded in your .EXE, it just isn't embedded in the .RESX file.
      This should make no functional difference.
      >
      If you really want to stuff it in the .RESX for some reason, you can, but
      only clumsily: convert the file to a Base64-encoded string and store it as
      a string resource. This has storage overhead and also complicates using
      the resource.
      >
      --
      J.

      Comment

      • Jeroen Mostert

        #4
        Re: Resource embedding problem

        Srinidhi wrote:
        Hello,
        You're right. The resources are actually embeded in the exe. I checked it
        inside the exe.
        Thanks a lot for telling me. I'd have never known otherwise.
        But i wonder why i cannot specify the embeded report name and get the
        report.
        >
        If i use this code for Eg:
        ReportViewer1.L ocalReport.Repo rtEmbeddedResou rce = "EmbReport1 ";
        >
        This error pops up in the report control
        "An error occured during local report processing. The report definition for
        report
        'EmbReport1' has not been specified"
        >
        I have no problem getting the report with this instead
        ReportViewer1.L ocalReport..Rep ortPath=***\*** .rdlc
        >
        I don't know anything about whatever type "ReportView er1" is, so I can't
        really help you there.

        If I had to guess, though: try specifying the actual, full name of the
        resource. This will usually be "<default namespace>.<ful l name of the
        file>". So it'll probably be "MyApplication. Resources.EmbRe port1.rdlc" or
        something along those lines. You can get the resource names with
        Assembly.GetMan ifestResourceNa mes().

        --
        J.

        Comment

        • Srinidhi

          #5
          Re: Resource embedding problem

          'ReportViewer1' is just the report viewer control name i've used
          I've tried everything possible but i'm still not getting it. I'm at the end
          of my wits. I guess i'll give it a break and try again tomorrow :)
          Thanks a lot for your help

          "Jeroen Mostert" <jmostert@xs4al l.nlwrote in message
          news:48f11ced$0 $193$e4fe514c@n ews.xs4all.nl.. .
          Srinidhi wrote:
          >Hello,
          >You're right. The resources are actually embeded in the exe. I checked it
          >inside the exe.
          >Thanks a lot for telling me. I'd have never known otherwise.
          >But i wonder why i cannot specify the embeded report name and get the
          >report.
          >>
          >If i use this code for Eg:
          >ReportViewer1. LocalReport.Rep ortEmbeddedReso urce = "EmbReport1 ";
          >>
          >This error pops up in the report control
          >"An error occured during local report processing. The report definition
          >for report
          >'EmbReport1' has not been specified"
          >>
          >I have no problem getting the report with this instead
          >ReportViewer1. LocalReport..Re portPath=***\** *.rdlc
          >>
          I don't know anything about whatever type "ReportView er1" is, so I can't
          really help you there.
          >
          If I had to guess, though: try specifying the actual, full name of the
          resource. This will usually be "<default namespace>.<ful l name of the
          file>". So it'll probably be "MyApplication. Resources.EmbRe port1.rdlc" or
          something along those lines. You can get the resource names with
          Assembly.GetMan ifestResourceNa mes().
          >
          --
          J.

          Comment

          • Srinidhi

            #6
            Re: Resource embedding problem

            I Finally Got It!
            I just had to write it like this.
            reportViewer1.L ocalReport.Repo rtEmbeddedResou rce = "MyApp.Report1. rdlc";
            where
            reportViewer1 is the report viewer control's name
            MyApp is the proj name
            Report1.rdlc name of the resource file.
            Although i had set the name of the resource entry to 'EmbReport1', i had to
            actually give the name of the file (Report1.rdlc)
            Thanks for all the help

            "Srinidhi" <DontSend@NoMai l.comwrote in message
            news:%23ryMX8%2 3KJHA.1012@TK2M SFTNGP04.phx.gb l...
            'ReportViewer1' is just the report viewer control name i've used
            I've tried everything possible but i'm still not getting it. I'm at the
            end of my wits. I guess i'll give it a break and try again tomorrow :)
            Thanks a lot for your help
            >
            "Jeroen Mostert" <jmostert@xs4al l.nlwrote in message
            news:48f11ced$0 $193$e4fe514c@n ews.xs4all.nl.. .
            >Srinidhi wrote:
            >>Hello,
            >>You're right. The resources are actually embeded in the exe. I checked
            >>it inside the exe.
            >>Thanks a lot for telling me. I'd have never known otherwise.
            >>But i wonder why i cannot specify the embeded report name and get the
            >>report.
            >>>
            >>If i use this code for Eg:
            >>ReportViewer1 .LocalReport.Re portEmbeddedRes ource = "EmbReport1 ";
            >>>
            >>This error pops up in the report control
            >>"An error occured during local report processing. The report definition
            >>for report
            >>'EmbReport1 ' has not been specified"
            >>>
            >>I have no problem getting the report with this instead
            >>ReportViewer1 .LocalReport..R eportPath=***\* **.rdlc
            >>>
            >I don't know anything about whatever type "ReportView er1" is, so I can't
            >really help you there.
            >>
            >If I had to guess, though: try specifying the actual, full name of the
            >resource. This will usually be "<default namespace>.<ful l name of the
            >file>". So it'll probably be "MyApplication. Resources.EmbRe port1.rdlc" or
            >something along those lines. You can get the resource names with
            >Assembly.GetMa nifestResourceN ames().
            >>
            >--
            >J.
            >
            >

            Comment

            Working...