AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Resourcen in Komponente...

Ein Thema von FriFra · begonnen am 21. Jan 2004 · letzter Beitrag vom 22. Jan 2004
Antwort Antwort
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

Resourcen in Komponente...

  Alt 21. Jan 2004, 14:20
Ich habe eine Resource in eine Komponente eingebunden, bekomme aber beim erzeugen eines Objektes immer eine Fehlermeldung, dass die bettr. Resource nicht vorhanden sei.

Wo könnte der Fehler sein? Die Resource ist jedenfalls definitiv vorhanen!
Delphi-Quellcode:
unit Fr_LocalMailListView;

interface

uses
  SysUtils, Classes, Controls, ComCtrls, Graphics, Windows, Fr_LocalMail;

type
  TFr_LocalMailListView = class(TListView)
  private
    { Private-Deklarationen }

    ...

  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }

    ...

  end;

procedure Register;

implementation

  {$R res/ImageList.res}

procedure Register;
begin
  RegisterComponents('FriFra', [TFr_LocalMailListView]);
end;

constructor TFr_LocalMailListView.Create(AOwner: TComponent);
var
  RS: TResourceStream;
  bmp: Graphics.TBitmap;
  n: integer;
begin
  inherited;
  RS := nil;
  LocalMail := TFr_LocalMail.Create(nil);
  SmallIcons := TImageList.CreateSize(16, 16);
  LargeIcons := TImageList.CreateSize(32, 32);
  bmp := Graphics.TBitmap.Create;
  try
    for n := 0 to 6 do
    begin
      try
        RS := TResourceStream.Create(0, 'Large' + IntToStr(n), RT_RCDATA);
        RS.Position := 0;
        bmp.LoadFromStream(RS);
        LargeIcons.AddMasked(bmp, clFuchsia);
      finally
        RS.Free;
      end;
      try
        RS := TResourceStream.Create(0, 'Small' + IntToStr(n), RT_RCDATA);
        RS.Position := 0;
        bmp.LoadFromStream(RS);
        SmallIcons.AddMasked(bmp, clFuchsia);
      finally
        RS.Free;
      end;
    end;
  finally
    bmp.Free;
  end;
  LargeImages:=LargeIcons;
  SmallImages:=LargeIcons;
  SetDefaults;
end;

destructor TFr_LocalMailListView.Destroy;
begin
  LocalMail.Free;
  SmallIcons.Free;
  LargeIcons.Free;
  inherited;
end;

...

end.
Imagelist.rc
Code:
Large0 RCDATA EU_L.bmp
Large1 RCDATA LN_L.bmp
Large2 RCDATA NS_L.bmp
Large3 RCDATA OP_L.bmp
Large4 RCDATA OL_L.bmp
Large5 RCDATA PG_L.bmp
Large6 RCDATA TB_L.bmp
Small0 RCDATA EU_S.bmp
Small1 RCDATA LN_S.bmp
Small2 RCDATA NS_S.bmp
Small3 RCDATA OP_S.bmp
Small4 RCDATA OL_S.bmp
Small5 RCDATA PG_S.bmp
Small6 RCDATA TB_S.bmp
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Resourcen in Komponente...

  Alt 21. Jan 2004, 15:41
Den Fehler find ich nicht, aber warum RCDATA? BITMAP sollte es doch tun.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: Resourcen in Komponente...

  Alt 22. Jan 2004, 01:17
Eventuell mal folgendes probieren:

  TResourceStream.Create(HInstance, 'Large' + IntToStr(n), RT_RCDATA); Ich traue der Angabe von NULL als hModule nicht so ganz.
Statt HInstance kannste auch mal MainInstance probieren. Abhänig davon ob die Komponente in einem Package installiert wurde oder ob die Resource in die EXE eingelinkt wurde, muß man sich für HInstance oder MainInstance entscheiden.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Resourcen in Komponente...

  Alt 22. Jan 2004, 12:40
Danke

HInstance hat geholfen
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz