
Hola amigos del foro, se que el titulo esta medio raro, y tal vez la respuesta este dentro de los mismos foros, pero estube buscando y no encontre algo que me pudiera ayudar o tal ves se me paso, estuve viendo varios hilos sobre heredar, clonar, e incluso copiar pero no pude entender muy bien, si alguien puede decirme o explicarme un poco mas pues con mucho gusto les estare agradecido.
veran lo que quiero hacer es copiar un componente que tiene dentro de el otros componentes, los componentes que ocupo son powerpdf, y lo que quiero copiar es un componente que se llama tprpage que dentro de el tiene otro que se llama prlayoutpanel y dentro de este tiene otro que se llama prjimage quedaria algo asi
Código:
tprpage
|
|-- Prlayoutopanel
|
|--prjpegimage
digamos que es como si tuvieramos un panel3 dentro de otro panel2 que a su ves esta dentro de otro panel1,
Código:
panel1
|
|-- panel2
|
|--panel3
lo que yo quiero hacer es muchas copias del tprpage con los demas componentes dentro, espero haberme explicado bien,seria como si quisiera copiar panel1 con su panel2 y panel3.
si se preguntan para que quiero hacer esto pues aqui les va. tengo este codigo
Código Delphi
[-]
PRJpegImage1.Picture.Assign(imagen);
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(tprpage1);
EndDoc;
pues lo que hago es que obtengo imagenes de un escaner y las quiero pasar a un archivo pdf,cuando escaneo una sola imagen me la guarda bien sin problemas con el codigo tal cual como esta arriba, pero si son 2 o mas, planeo hacer un tipo de arreglo de tprpage1,entonces segun las imagenes como vayan saliendo las voy asigando a PRJpegImage2 y PRJpegImage3 y asi... hasta terminar el documento, entonces quedaria algo asi
Código Delphi
[-]
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(tprpage1);
Print(tprpage2);
Print(tprpage3);
.
.
EndDoc;
Pues no se si me explique bien, si alguien tiene una mejor idea o alguna duda, pregunten sin compromiso jeje..
les dejo el codigo de como obtengo la imagen del escaner por si acaso
Código Delphi
[-]
while finalizar=true do begin
if MessageBox(Handle,PChar('Escanear hoja? ' + #13#10 +
'' + #13#10 + #13#10 +''),PChar('Inee'), MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1 + MB_APPLMODAL) = IDYES then
begin showmessage('Escaneando pagina');
AcquireImagescaner.loadTwainModule;
AcquireImagescaner.openSource;
AcquireImagescaner.acquirejpg(imagen,90);
finalizar:=true;
end else
begin
finalizar:=false;
flag:=true;
if flag then
begin
PRJpegImage1.Picture.Assign(imagen);
uso delphi2006
