Re: [Eqalign-devel] QHY
Brought to you by:
antoniofga,
isoplut
From: Antonio F. <ant...@ya...> - 2007-11-07 13:38:03
|
Lo dicho: en C# es un rollo el tema del codigo unmanaged, sobre todo si no se domina el tema (lo digo por mi :) En Windows la convención de paso de parámetros en las declaraciones DllImport, por defecto es stdcall. http://msdn2.microsoft.com/es-es/library/system.runtime.interopservices.callingconvention(VS.80).aspx Si la librería usa otra convención habría que especificarlo, más o menos así: [DllImport(dllName, SetLastError = false , CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity] public static extern bool OpenCamera(string dev); Una causa podría ser esa, pero me extrañaría (pues las QHY5, por lo que veo, usan el método stdcall). La verdad es que no te puedo ayudar mucho con las QHY, yo no tengo ninguna, Francisco está más ducho pues él implementó el wrapper para las QHY5, pero cuidado que son distintas. La QHY5 usa CMOSDLL.DLL, no sé si la QHY6 usa la misma librería. De entrada tiendo a pensar que alguna dependencias de la librería no está accesible. O:-) Pero hazlo en casaaaaa, no sea que se entere tu jefe C=:-) Saludos! Samuel Diaz <sam...@gm...> escribió: Lo tengo como dices. Estoy mirando lo de la referencias, sobre todo una astrodll.dll. La tuviste que utilizar con la QHY5? Anda que como se entere el jefe que estoy con otras cosas. jejejeje El día 7/11/07, Antonio Fraga <ant...@ya...> escribió: Hola Samuel, Uf, con C# es un lío todo esto del código "managed" y "unmanaged". Bueno, por lo que he visto sobre las QHY (poco, poco dicho sea de paso), devname especifica el dispositivo que vas a abrir, con lo que tienes que conocerlo y cargarlo previamente: <code> [DllImport(dllName, EntryPoint = "OpenCamera")] static extern int OpenCamera(string devname); . string sDevName = "EZUSB-0"; // o "EZUSB-1", "EZUSB-2", etc int i = OpenCamera(sDevName); // o incluso: int i = OpenCamera("EZUSB-0"); </code> Por tu mensaje intuyo que no estableciste en la llamada el dispositivo a abrir ¿es así?. Supongo también que has comprobado que las referencias externas de la librería de la QHY6 y que todas las librerías son accesibles. Creo que no es correcto traducir PCHAR por int, aquí no tiene sentido. Bueno, cuenta si te falla y rebuscamos la solución. Y si te funciona cuenta también! Un saludo!! Samuel Diaz <sam...@gm...> escribió: Buenas a todos. Una vez solucionado los problemas en los ordenadores de casa he vuelto al ataque. Necesito ayuda, me he quedado sin ideas... Encontré un documento que contiene las funciones de una dll que controla la QHY6. En el define una función: int OpenCamera(PCHAR devname) Connect Camera Input value: Devname: Camera ID Should be "EZUSB-0" "EZUSB-1" "EZUSB-2" ... etc Return value: 0 Connection success 1 Connection failure Y yo la he llamado desde C# asi: [DllImport(dllName, EntryPoint = "OpenCamera")] static extern int OpenCamera(string devname); Donde dllName es la dll que tengo que utilizar y que te suministran con el documento. Luego la llamo: i=OpenCamera(sDevName); Y siempre me devuelve 1. He mirado como lo tenéis en para QHY5 y en el documento que encontré con las llamadas a las funciones viene un openUSB, en el documento ponía que hay que pasar un PCHAR y vosotros tenéis un uint. Sin corto ni perezoso probé a declararlo como uint y nada. Necesito ideas para probar. He visto que una vez que consiga esto adaptarlo para las demás es muy fácil. También he probado a hacerlo mediante un driver para Ascom, lo único que este me ha resultado estar un poco limitado. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/_______________________________________________ Eqalign-devel mailing list Eqa...@li... https://lists.sourceforge.net/lists/listinfo/eqalign-devel --------------------------------- ¡Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Eqalign-devel mailing list Eqa...@li... https://lists.sourceforge.net/lists/listinfo/eqalign-devel ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/_______________________________________________ Eqalign-devel mailing list Eqa...@li... https://lists.sourceforge.net/lists/listinfo/eqalign-devel --------------------------------- ¡Descubre una nueva forma de obtener respuestas a tus preguntas! Entra en Yahoo! Respuestas. |