FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pues anteponiendo el nombre del formulario frame, formularioframe.componentequesea.propiedadquequieras
Haz una prueba sencilla, crea un nuevo proyecto con un formulario y luego crea un frame. Seguidamente vuelve al formulario y le añades el componente frame (paleta 'standar'), verás que sencillo. |
#2
|
||||
|
||||
Oido cocina.... voy
__________________
Be water my friend. |
#3
|
||||
|
||||
Vale. Ya tengo un formulario con un frame incrustado en el que dandole a un botón llama al driver del escaner y escanea la imagen. El problema está en ¿cómo se entera el formulario original de que el escaner ha capturado la imagen para poder trabajar con ella? porque en el formulario principal cuando se pica el botón no se espera a que el driver se cierre y ahí no puede ser porque continua con la ejecución del código y en ese momento no hay imagen hasta que no salte el evento OnAdquire.
Edito: ¿O hay alguna forma de parar el código del formulario principal en espera de que se cierre el driver de la impresora?, es decir, como si fuera llamar al TFrame en modo Modal.
__________________
Be water my friend. Última edición por newtron fecha: 14-01-2012 a las 18:59:47. |
#4
|
||||
|
||||
Creo que me he perdido, a ver, me explico: tengo un formulario donde se escanea y se guarda lo escaneado en la base de datos (o en un fichero externo, a elegir). Todo lo que concierne al escaner se hace ahí. Es en ese formulario donde está el componente twain, donde se escanea.
Si lo llamo desde otro formulario, lo que hago es llamar a ese otro formulario donde se trabaja con el escaner. ¿Cómo se entera el formulario de que el otro ha terminado de escanear?, pues porque lo has abierto con un showmodal y ya ha terminado, se ha cerrado y ha vuelto el control al formulario que llamó al del escaner. |
#5
|
||||
|
||||
Fracaso absoluto
A ver.
He creado el TFrame con el componente DelphiTwain y lo he incrustado dentro del formulario principal, me he percatado de que los eventos asociados al componente se pueden declarar en cada uno de los formularios y es lo que he hecho. El TFrame lo único que tiene es un botón que llama al driver del escaner. Todo funciona perfectamente pero cuando he hecho la misma operación en el formulario al que llama posteriormente me pasa lo mismo, una vez que selecciona el escaner de la lista de dispositivos se sale sin hacer nada. Si llamo al escaner desde uno o desde otro funciona correctamente pero si escaneo en el primer formulario, llamo al segundo formulario y vuelvo a llamar al escaner ya no va. Edito: como plan B se me ha ocurrido instalar otro componente twain para el otro formulario, ¿conoces algún otro?
__________________
Be water my friend. Última edición por newtron fecha: 14-01-2012 a las 19:58:26. |
#6
|
||||
|
||||
Cita:
Yo tengo un formulario normal y corriente donde se escanea y se guarda lo escaneado (UFescanear). No hay ningún otro formulario en el programa donde se pueda escanear. Es en ese único formulario donde está el único componente twain. Luego tengo un formulario (realmente es un frame) que se encarga de administrar las imágenes escaneadas, verlas, borrarlas, etc. (marcoDocumentosEscaner) En este formulario (frame) hay un botón "Escaner", que lo único que hace ese botón es abrir el formulario que indiqué antes (UFescanear), el que se dedica a escanear. Cuando UFescanear ha terminado de escanear algo, lo cierro y vuelvo a estar en marcoDocumentosEscaner, refresco el dataset de documentos escaneados para que actualice el dbgrid y el usuario pueda pinchar en la fila donde ya aparece el nuevo documento escaneado. Donde además, como he dicho antes, también podrá verlo, ampliarlo, borrarlo, etc. Resumiendo, en marcoDocumentosEscaner se administra (ver, borrar, etc.) lo escaneado en UFescanear (que sólo escanea). ¿Por qué uso un marco en lugar de otro formulario 'normal'?, pues porque esa ventana (formulario) de administrar lo escaneado se muestra en diversas partes del programa, y entonces lo que hago es pegar/adjuntar/incrustar el marco en el formulario que lo necesito. Y eso es todo, amigos Y déjate de chapuzas de poner otro componente twain , seguro que lo que quieres hacer tiene solución 'lógica' |
#7
|
||||
|
||||
Por si aporto algo, yo tengo un formulario con 10 fichas en las que se pueden escanear un maximo de 10 historias por paciente y utilizo un único componente Twain y guardo las imágenes así:
(es un resumen). Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Instalar DelphiTwain en D7 | marcoszorrilla | Varios | 6 | 26-12-2011 23:06:59 |
DelphiTWAIN y Bitmap:S | mrnovice | Gráficos | 13 | 03-10-2008 23:43:10 |
DelphiTwain y SetImageLayoutFrame() | mrnovice | OOP | 1 | 07-08-2008 14:36:09 |
DelphiTwain: Accesar propiedades de Scanner | Roberto Angulo | Gráficos | 5 | 31-07-2008 21:38:17 |
Cancelar con DelphiTwain | mrnovice | OOP | 3 | 07-07-2008 18:34:51 |
|