Autor Beitrag
Unzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 57



BeitragVerfasst: Sa 18.01.03 12:23 
Hallo, ich habe ein kleines Problem: Ich habe eine Ressource mit Bitmaps geschrieben und weis aber nicht, wie ich Sie in meinem Programm einem Image zuweisen kann. Kann mir jemand helfen?
Danke im voraus! Unzi
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Sa 18.01.03 14:44 
Hallo,

mein Beispiel bezieht sich auf JPGs, für BMPs mußt Du in der *.rc Datei
auch die *.bmp angeben. Und unten im Code die Zeile mit dem JPG-Objekt im Timer gegen BMP-Objekt austauschen. Dürfte für Dich
kein Problem sein. Alles andere kann glaube ich, so bleiben.

Also Du hast schon eine z.B. Bilder.rc
mit z.B. dem Inhalt
ausblenden Quelltext
1:
2:
100 RCDATA "1.jpg"
101 RCDATA "2.jpg"

im Notepad geschrieben,
und hast sie mit der "brc32.exe" zu "bilder.res" compiliert. Dann brauchst Du nur noch ein Image auf die Oberfläche Deines Programm ziehen und folgender Code stellt die Bilder dann dar:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
unit bilder_u;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,jpeg,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
  Procedure Anzeigen;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  i:Integer;
    
implementation

{$R *.DFM}
{$R bilder.res}  // hier bindest Du die Res ein

Procedure TForm1.Anzeigen;
var
resStream: Tresourcestream;
begin
case i of
0begin
   resStream:= TResourceStream.CreateFromID(HInstance, 100, RT_RCDATA);
   end;
1begin
   resStream:= TResourceStream.CreateFromID(HInstance, 101, RT_RCDATA);
   end;

end;
Image1.Picture.Graphic.LoadFromStream(ResStream);
resStream.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
var starttime:dword;
begin
i:=0;
StartTime := GetTickCount();
  while (GetTickCount - StartTime < 10000do
    Application.ProcessMessages;
DoubleBuffered:= true;  // wenn Bildfolge flackert 
Timer1.Enabled:=True;
Timer1.Interval:=50;
end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin
inc(i);
Image1.Picture.Graphic:=TJPEGImage.Create;
if i>1 then i:=0;
anzeigen;

end;

end.


Eleganter kann man diese Bilder Sequenzen in On.Idle einsetzen, dann bewegen sich die Bilder nur, wenn der Rechner gerade Zeit hat und dieses spart Zeit für die eigentlichen Aufgaben des Prgs. Wenn Du nur ein Bild darstellen willst, laß die case of Anweisung und den Timer raus.

Gruß Pierre
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Sa 18.01.03 15:03 
Hallo,

ausblenden Delphi-Quelltext
1:
Image1.Picture.Bitmap.Handle:=LoadBitmap(hInstance, 'MeinBitmap');					

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: So 19.01.03 12:25 
Hallo,
hatte ich die Frage falsch verstanden?

Zitat:
.. eine Ressource mit Bitmaps.. einem Image zuweisen

also mehrere Bitmaps an einer Stelle darstellen und dies geht nur zeitlich hintereinander.

Übrigens die Textdatei mit dem Notepad muß unter einem Name mit dem
Suffix *.rc (oben im Bsp "bilder.rc") abgespeichert werden. Hatte ich nicht geschrieben.

Gruß Pierre
Unzi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 57



BeitragVerfasst: So 19.01.03 20:43 
Hallo,
@smiegel: Wie definiere ich denn hInstance? Unter C++ kommt die als Parameter über main(), aber Delphi ist ja anders (ach ne) :wink: .

@pierre: Ich habe die ressource im Image-Editor von Delphi erstellt und mit dem Icon kombiniert. Ist die dann schon kompiliert? Und ist es dann etwas anderes mit der Einbindung (weil's vielleicht schon eingebunden ist?)

Gruß, Unzi
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: So 19.01.03 21:07 
Hallo,
ich habe Dich leider nicht eindeutig verstanden.

1. Du erschaffst ein Bild. *.bmp/*.jpg
2. Du bringst dieses Bild in die Ressoucendatei *.res (ist oben beschrieben)
3. Du bindest diese *.res Datei in Deinen Code ein. {$R *.res}
4. Du copilierst Deinen Code. Die *.res geht in die *.exe mit ein.
Habe ich Deine Frage beantwortet?

Gruß Pierre
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: So 19.01.03 22:36 
Hallo Unzi,

hInstance muss nicht definiert werden, sondern ist bereits definiert.
Zitat:

Die Variable hInstance gibt das Handle an, das von Windows für eine Anwendung oder Bibliothek zur Verfügung gestellt wird.

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mo 20.01.03 15:25 
Titel: BRC - Problem
Hallo Leute, hab mich schon soo gefreut, ich pröble nun schon eine weile, Bilder in einer RXRichEdit einzufügen... Den Code und die Komponente hab ich auch alles...nur noch nicht das passende *.res - File. Wenn ich eingebe blabla\brc32 blabla\smiley.res

kommt immer die Fehlermeldung

Zitat:
Fatal Error. Could not spawn Program: ILINK32.EXE


Nun ja, ich musste feststellen, dass dieses komische Programm "ILINK32.EXE" gar nicht auf meiner Festplatte vorhanden ist, äm, ist das normal? geb ich den brc32-Befehl falsch ein? oder ist es nicht normal, dass mir diese Datei fehlt? Bitte helft mir....mein Chat währe so cool mit Emoticons ;-)

_________________
...and You will Know us By the Trail of Death.....
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mo 20.01.03 17:31 
Titel: Selbst ist der Mann...
Naja, ihr habt mir nicht sonderlich geholfen....hab wiedermal alles selbst rausgefunde...also, auf mein vorheriges Problem möchte ich gar nicht eingehen, ist lächerlich...

Nun: Habt ihr auch schon mal versucht, folgendermassen euer Icon im *.RES - File zu finden?

ausblenden Quelltext
1:
dHandle := FindResource(hInstance, PChar(ASimily), RT_RCDATA);					


ASimily ist dabei der übergabeWert der procedure...und enthält den Namen des gewünschten Icons...Aber nach jedem Aufruf ist der "dHandle" = 0...hat also das Icon nicht gefunden... Ich hab den gesamnten Code von SwissDelphiCenter kopiert...dort kann man aber glücklicherweise nicht direkt dem Autor eine Frage stellen (ausserdem gefällt mir Auq.de sowieso besser) wer den gesamten Code sehen will, hier:

[url]www.swissdelphicente...de.php?id=1147[/url]

Oke und wer sich noch gar nicht mit dem befasst hat, der braucht, um eben Bilder in einer RichEdit anzuzeigen noch die RX-Componenten-Suite, die es gratis zum downloaden gibt auf [url]www.rxlib.ru[/url]

So, ich hoffe ihr Profis wisst ein bissel besser bescheid wie man mit *.res-files umgeht als ich...und werded das hoffentlich auch posten!!! danke schonmal im voraus :roll:

_________________
...and You will Know us By the Trail of Death.....
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mo 20.01.03 17:40 
Titel: Selbst bin ich sicher nicht....
EI LEUTE! :lol:

sorry, echt...ihr müsst mir nicht antworten auf meine beiden Fragen, hab meinen Fehler gefunden, nachdem ich die Demo vom SwissDelphi-Center heruntergeladen hatte. Die Images im betreffenden *.RES-File sind Textdateien!!!!!

Nun, wie zum Teufel (sorry, meine Sprache, ich weiss :roll: ) kann ich aus einem Icon eine Textdatei erstellen???

Währe echt cool, wenn mir das jemand sagen kann, echt... :wink:

_________________
...and You will Know us By the Trail of Death.....
derDoc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 623

Win Vista Prof
D2007 Prof
BeitragVerfasst: Mo 20.01.03 17:44 
Poste doch mal den Text aus der .res Datei, damit ich mal weiß, was du möchtest.
Außerdem habe ich noch nie gehört, dass man Bilder als Textdatei speichert.
Und nochwas, Bilder und Sonstiges haben in .res Dateien immer einen besonderen Bezeichner, damit man sie ansprechen kann.

_________________
MfG derDoc
There are only 10 types of people: those who understand binary and those who don't.
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mi 22.01.03 11:57 
Titel: Poscht!
OK, äm, also, die Res-Datei sieht ganz normal aus, nämlich folgendermasse:

ausblenden Quelltext
1:
2:
Smiley1 RCDATA "Smiley1.txt"
Smiley2 RCDATA "Smiley2.txt"


nur komisch ist, dass die Bilder eben eine *.txt-Endung haben :roll:
So ein Bild in Text-Format sieht folgendermassen aus:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
{\rtf1\ansi\ansicpg1252\deff0\deflang2055{\fonttbl{\f0\fnil Times New Roman;}}
\uc1\pard\f0\fs16{\pict\wmetafile8\picw397\pich397\picwgoal225\pichgoal225 
010009000003f104000002009a0200000000050000000b0200000000050000000c028d018d0105
020000f7000003000100000000ffffff00ffff0000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000004000000340200000300000035009a020000430f
2000cc0000000f000f00000000008d018d0100000000280000000f0000000f0000000100080000
000000f0000000c40e0000c40e0000000100000001000000000000ffffff0000ffff0000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000010101010100
000000000101010101000101010000020202020200000101010001010002020202020202020200
010100010002020200000000000202020001000100020200020202020200020200010000020200
020202020202020002020000000202020202020202020202020200000002020202020202020202
020202000000020202020202020202020202020000000202020000020202000002020200000100
020200000202020000020200010001000202020202020202020202000100010100020202020202
020202000101000101010000020202020200000101010001010101010000000000010101010100
2d000000f7000003140000000000800000000080000080800000000080008000800000808000c0
c0c000c0dcc000a6caf000fffbf000a0a0a40080808000ff00000000ff0000ffff00000000ff00
ff00ff0000ffff00ffffff00040000003402010004000000f0010000030000000000
}}


nimmt mich wunder, ob jemand schomal auf solche Bilder gestossen ist, bzw. wo es einen Converter gibt, währe noch toll... :wink:

_________________
...and You will Know us By the Trail of Death.....
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mi 16.07.03 10:53 
Titel: wow geschafft
hallo leute, also ich hab jez endlich die antwort auf meine wohl unlösbare frage (hab bis heute keine antwort von euch gekriegt) gefunden 8)

aaalso, mein problem wahr ja dass die bilder als text vorlagen...nun, das ist das rich-text-format :wink:

alle bilder die in eine rich-edit eingefügt werden sollen, müssen als rich-text-format eingefügt werden, es ist wohl eine art hexadezimale farb-beschreibung für jeden einzelnen pixel....einen converter, um bilder ins rich-text-format zu zwingen hab ich bis heute nicht gefunden, dafür aber eine unit, die alles vereint....da gibt es zum beispiel eine function, der man ein bmp zuweist und dann der rich-text zurückkommt :D voll cool nicht? also mein chat funktioniert jetzt wunderbar mit msn-ähnlichen emoticons und so :)

ich begreif zwar den code nicht der diese function hat, aber ich poste sie mal, schliesslich hatte ich fast ein jahr nach der lösung gesucht....
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
// Convert Bitmap to RTF Code 
function BitmapToRTF(pict: TBitmap): string
// by D3k 
var 
  bi, bb, rtf: string
  bis, bbs: Cardinal; 
  achar: ShortString; 
  hexpict: string
  I: Integer; 
begin 
  GetDIBSizes(pict.Handle, bis, bbs); 
  SetLength(bi, bis); 
  SetLength(bb, bbs); 
  GetDIB(pict.Handle, pict.Palette, PChar(bi)^, PChar(bb)^); 
  rtf := '{\rtf1 {\pict\dibitmap '
  SetLength(hexpict, (Length(bb) + Length(bi)) * 2); 
  I := 2
  for bis := 1 to Length(bi) do 
  begin 
    achar := Format('%x', [Integer(bi[bis])]); 
    if Length(achar) = 1 then 
      achar := '0' + achar; 
    hexpict[I - 1] := achar[1]; 
    hexpict[I] := achar[2]; 
    Inc(I, 2); 
  end
  for bbs := 1 to Length(bb) do 
  begin 
    achar := Format('%x', [Integer(bb[bbs])]); 
    if Length(achar) = 1 then 
      achar := '0' + achar; 
    hexpict[I - 1] := achar[1]; 
    hexpict[I] := achar[2]; 
    Inc(I, 2); 
  end
  rtf := rtf + hexpict + ' }}'
  Result := rtf; 
end;


wenn jemand an der ganzen unit interessiert ist, postet nochmals oder schickt mir eine e-mail....ich glaube dieses forum unterstüzt keine attachments so wies aussieht? auf jeden fall kann man dann mit ein paar befehlen mehr, ganz einfach sein bild in die rich-edit einfügen, wobei aufgepasst, das funktioniert nicht mit der rich-edit von delphi...die ist zu alt...ihr braucht dafür eine neuere, zum beispiel die der RX Komponenten oder noch besser, die der JEDI Komponenten sourceforge.net/projects/jvcl/

also viel spass mit kuulen emoticon chats oder sonstigen applikationen mit bildern im richedit :wink: [/code]

_________________
...and You will Know us By the Trail of Death.....
Stevie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 85

Windows 7
Delphi XE Professional
BeitragVerfasst: Mo 21.07.03 13:57 
Hi, ich hab auch gerade ein Prob mit dem Einfügen von Bitmaps in da RxRichEdit. Ich hab auch die BitmapToRtf-Function benutzt. Allerdings hab ich eine ImageList erstellt, wo meine ganzen Smilies drinstecken. Allerdings hab ich das Problem, dass, der Rtf-Code, der durch diese Function erstellt wird, anstelle des Bitmaps in der Anzeige erscheint.
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mi 23.07.03 18:30 
Titel: Mhmmmm
Hallo Stevie,

also so ein Problem hatte ich jez noch nie. Ich verwende aber eben die JvxRichEdit der Jedi-Komponenten-Suite (Link dazu in meinem letzen Beitrag hier). Aber die RxRichEdit der RX-Library kenne ich ebenfalls sehr gut und auch bei der sollte das Funktionieren. Das mit der ImageList tut nichts zur Sache, ich mach das auch so in meinem Chat. Aber ich mach mal ein Beispiel, wie mein Code ausschaut:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var
  SS: TStringStream;
  BMP: TBitmap;
begin
  BMP := TBitmap.Create;
  //Ein Bild aus der ImageList laden
  ImageList.GetBitmap(1,BMP);

  SS  := TStringStream.Create(BitmapToRTF(BMP));
  try
    PutRTFSelection(RichEdit, SS);
  finally
    SS.Free;
  end;


Die Function BitmapToRTF kennst du ja..und die andere Prozedur PutRTFSelection die solltest du auch haben, wenn nicht, schreib mir doch ein Mail, dann kann ich dir die ganze Unit schicken...denn die Prozedur PutRTFSelection ruft noch einen Haufen anderer Prozeduren auf..
Viel Glück :wink:

Ach ja und noch was, du wirst dich fragen wieso ich die RichEdit der Jedi-Komponenten benutze..? Ganz einfach, die Entwicklung der RX-Komponenten wurde eingestellt, und irgend ein cooles Team führt die ganze Library jetzt weiter, unter dem Namen Jv- oder JEDI- Components. Spätestens wenn ihr auf Delphi 7 umsattelt, werded ihr feststellen, dass die RX Komponenten sich nicht mehr installieren lassen. Da bringen dann die JEDI-Kompos abhilfe..und ausserdem cool, in den JEDI-Komponenten findet man inzwischen etwa doppelt soviel cooles Zeugs wie in den RX-Kompos ;) es lohnt sich die herunterzuladen, und sie sind immer noch gratis :) solche Komponenten Suites sollte es öfters geben... :?

_________________
...and You will Know us By the Trail of Death.....
Neidhard von Reuental
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 268

XP
BDS 2006 Prof
BeitragVerfasst: Di 14.09.04 18:32 
Hab mir den Source vom ersten Posting genommen und ihn in eine DLL eingebaut. Das sieht nun wie folgt aus:
ausblenden Quelltext
1:
2:
3:
    jpg:=TResourceStream.Create(HInstance,'SEARCH',RT_RCDATA);
    Image1.Picture.Graphic.LoadFromStream(jpg);
    jpg.Free;


Leider gibts beim Ausführen eine Zugriffsverlezung (Lesen von Adresse 00000000).
Ich versteh nur nicht warum, hab schon geprüft ob das JPG auch im JPG-Stream drin ist (mit jpg.SavetoFile) und das ist in Ordnung. also geh ich mal davon aus das die Anweisung
"Image1.Picture.Graphic.LoadFromStream(jpg);" Probleme macht.
Hat einer eine Idee oder einen Tip wie ich das Problem beheben kann oder wo mein Fehler steckt?

cu
Neidhard
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Fr 25.03.05 12:42 
user profile iconsmiegel hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
Image1.Picture.Bitmap.Handle:=LoadBitmap(hInstance, 'MeinBitmap');					

Ich hab das ein bisschen weitergesponnen und mal mit einer ImageList versucht (weil ToolButtons kein Glyph sondern nur ImageIndex haben), aber bis jetze nur über ein temporäres TImage hingekriegt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm3.FormCreate(Sender: TObject);
var
  TempImage: TImage;
begin
  ...
  Tempimage := TImage.Create(Form3);
  TempImage.Picture.Bitmap.Handle := LoadBitmap(hInstance, 'Bitmap');
  ToolButton9.ImageIndex := ImageList1.AddMasked(TempImage.Picture.Bitmap, clFuchsia);
  Tempimage.Free;
end;

Geht das noch irgentwie anders (besser) ?