![]() |
DLL que crea un pantallazo
Adrianeloy, Dasije, aquí está el fuente:
Código CPP:
Según he leído, se puede indicar la calidad (nivel de compresión) en el 3-er parámetro en la invocación del método save (donde va el NULL) : Código CPP:
Pero no sé por qué, no me compila en DevC++ con la estructura EncoderParameter. Adrianeloy, el formato depende de lo que tú indiques. puede ser: Código CPP:
Lo he modificado a JPG porque el BMP por defecto pesa 6 megas cada pantallazo :D |
En las rutinas de C++ que tengo realizadas, en su momento leí en los manuales de NetCOBOL de como llamar funciones, y así debes hacerlo para que te envíe o reciba parámetros con un CALL directamente:
Código CPP:
Todos los parámetros pueden ser para enviar como para recoger entre ambos ambientes. Recuerda que el type char, es una string sin fin, y debe convertirse en array limitado el número de ocurrencias haciendo una copia del valor de la variable para que reciba el valor desde NetCOBOL, en caso contrario no llegaría ninguno. |
Dasije, ¿qué es lo que no te gusta exactamente del fuente que he publicado? No entiendo qué tiene que ver tu post. Yo sólo paso un puntero, nada más.
Si simplemente quieres mostrar un ejemplo que no tiene nada que ver con este código publicado por mi, deberías crear un tema nuevo. Si tienes modificaciones a aportar al código publicado, precisa más, dónde exactamente y por qué. ;) Lo de "directamente", no sé a qué te refieres. Si es por la *.LIB, la que genera el Dev C++ no funciona, no sé por qué y no tengo tiempo de mirarlo. Pero como se puede evitar con LoadLibrary y GetProcAddress (que se hacen automáticamente via fichero COBOL85.CBR) no me he comido mucho el coco con ello. El extern "C" lo que hace es el famoso "undecorate" que básicamente hace más visibles los nombres de las funciones de acuerdo a las normas del C. En cuanto a pasar un char en parámetros, aunque la declaración sea así, por detrás se transforma en puntero y se pasa la dirección del array, porque no podemos pasar por parámetro algo que no sea tipo binario. Ah, y por cierto: Cita:
Código CPP:
|
Quería dar entender que se puede mejorar para poder usar la LIB, así tratas la rutina como si fuera una API de Windows dentro del procedure donde se ejecute.
Sino te funciona, debe ser la compatibilidad del compilador, en mi caso funciona con MS C++ 6.0. |
1 Archivos Adjunto(s)
Dasije, entonces no es el fuente el que no te gusta sino que no haya facilitado la LIB correspondiente en el tema [Componente] Como generar un PrintScreen - COBOL Foro. No sé, he probado con la que genera el Dev C++ (que es lib*.a) y extrayendo la LIB desde la DLL con la utilidad IMPLIB. Ambas van en el ZIP, probadlas a ver, pero a mi no me han funcionado.
|
Amigo Kuk, sera posible que la rutina Pantallazo capture solo la pantalla Vigente?
Saludos |
1 Archivos Adjunto(s)
Hrmcobol, aquí va el código y la DLL compilada:
Código CPP:
Para llamar la función desde PowerCOBOL, en el fichero COBOL85.CBR ponemos: Código:
[MainForm.Entry]Código COBOL:
|
| La franja horaria es GMT +2. Ahora son las 13:03. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.