Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
He hecho una prueba para intentar ver que pasa:
Código PHP:
   unsigned int DataHandle;
   
HPALETTE APalette;
   
unsigned short MyFormat;
   
TPicture *pic;
   
IPictureDisp *pIPD;

   
//Obtengo el puntero al IPictureDisp
   
pIPD = (IPictureDisp*)AddFlow1->ExportPicture(afAllItemstruetrue);

   try
   {
      
pic = new TPicture//Solicito memoria para el TPicture

      
__try
      
{
         try
         {
            
//Prueba que deberia pasar la imagen al IPictureDisp
            
pic->LoadFromFile("Diagramas.wmf"); //Leo una imagen desde un archivo
            
GetOlePicture(picpIPD); //La paso del TPicture al IPictureDisp
            
SetOlePicture(picpIPD); //La paso del IPictureDisp al TPicture

            //Envio la imagen al portapapeles
            
pic->SaveToClipboardFormat(MyFormat,DataHandle,APalette);
            
Clipboard()->SetAsHandle(MyFormat,DataHandle);
         }catch(...){
            
ShowMessage("Fallo al copiar la imagen al portapapeles.");
         }
      }
__finally{
         
delete pic//Libero la memoria del TPicture
      
}
   }catch(...){
      
ShowMessage("No hay memoria suficiente.");
   } 
Lo que hago es leer una imagen desde el TPicture, luego la paso al IPictureDispatch y luego la vuelvo a pasar al TPicture desde el IPictureDisp. Pues bien:
1- Al IPictureDisp le tengo que hacer un cast mas que extraño al asignarlo para que no de error despues.
2- Tanto GetOlePicture como GetOlePicture devuelven void por lo que no se si fallan pero no dan excepcion ninguna.
3- Cuando uso GetOlePicture no veo que nada cambie en el IPictureDisp.
4- Cuando uso SetOlePicture puedo ver como cambia el valor de FGrafic en su interior.

¿como puede ser que solo con copiar la imagen de uno a otro y luego otra vez volver a hacer lo mismo ya no sea capaz de leer la imagen? Creo que GetOlePicture no hace lo que debe o que IPictureDisp no se inicializa como debe. ¿Alguien puede ayudarme?
Responder Con Cita
  #2  
Antiguo 02-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.

No quiero que te quedes con la idea de que no hay voluntad de ayudarte. En mi caso (y creo que en el de todos los que han leido el hilo) el mutismo se debe al desconocimiento sobre IPictureDisp.

Fijate si este enlace te puede arrojar algo de luz: Converting between IPictureDisp and System.Drawing.Image

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 02-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
amigo en ningun caso pensé en que no hubiese voluntad de ayudar, entiendo que unos por falta de tiempo, otros por desconocimiento, y otros por otras razones, pues no ha podido ser y por eso sigo investigando y probando por mi cuenta y compartiendo mis pruebas para ver si alguien que pueda me ayuda. El enlace que indindicas ya lo vi pero usa stdole y no se como hacer para que el builder me lo reconozca ya que no comila con eso.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Portapapeles TImage cmm07 Varios 5 06-02-2009 17:01:06
Copiar al portapapeles johurgi Varios 4 22-11-2006 19:47:48
Monitorizar el portapapeles de windows rsantosr API de Windows 3 26-09-2005 07:29:38
Portapapeles... Perio Varios 3 29-07-2005 16:27:41
StringGrid -> Portapapeles acertij022 OOP 3 17-10-2003 17:14:16


La franja horaria es GMT +2. Ahora son las 22:25:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi