08. september 2001 - 12:54Der er
8 kommentarer og 1 løsning
Create and show a collection of controls
1. Når det her virker: Image1.Picture.Bitmap.LoadFromResourceID(DllInstance, 1); på en form1 med en image1, hvorfor viker dette ikke: var Img : TImage;
når controllen i stedet oprettes runtime. Form1 forbliver helt blank. 2. Hvad med en collection hvis man skal oprette 100 controller runtime, hedder de så Img[1], Img[2]...?, hvordan navngives samt hvordan tilgåes de bagefter. I VB hedder det en collection at control, er det også termen i DP?
Programmet henter en alle bitmaps i en dll, for at vise dem alle på en form. En slags se hvad der er af bmp\'er i en ressource dll. Det findes allerede i et program der hedder ressource hacker. Men jeg skal bruge det til noget videre programmering, hvorman trykker på et bitmap (Image kontrol), derefter lukker formen (med alle Image kontrollerne) og returnere id\'et på bitmappen, dvs. id\'et i dll\'en. Svarende til 1 i LoadFromResourceID(DllInstance, 1); Men kan jeg bare få vist mine bmp, med oprettelse af image kontroller runtime er jeg godt på vej.
jeg har kompileret 2 JPEg billeder ind i en DLL fil og så har jeg skrevet det følgende :
var DllInstance : THandle;
procedure TForm1.Button1Click(Sender: TObject); var i : Integer; Img : TImage; JPEG : TJPEGImage; ResourceStream : TResourceStream; begin JPEG := TJPEGImage.Create; for i:= 1 to 10 do begin Img := TImage.Create(Form1); if bool(i mod 2) then ResourceStream := TResourceStream.Create(DllInstance, \'P4800\', \'JPEG\') else ResourceStream := TResourceStream.Create(DllInstance, \'P4801\', \'JPEG\');
Eksemplet er vist kommet væk fra det oprindelige problem: Vis en bmp i en runtime created TImage på en form1. Kan nogen se hvad der er galt med følgende kode:
Løsning: Prøvede koden i en exe udgave, det virkede fint. Men da min form kommer fra en dll skal jeg åbenbart anvende eventet: TForm1.FormShow fremfor TForm1.FormCreate. Jeg troede ellers Delphis event styring var den samme mellem exe og dll-filer. Ellers mange tak for hjælpen. Hvis Jens B. vil ha de 60 point, må han lige skrive bøøh og tryk svar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.