De 16 a 32Bits-Caso02 - Cambio uso de DLL a RC

De 16 a 32Bits-Caso02 - Cambio uso de DLL a RC

Postby lubin » Tue Apr 24, 2007 3:11 am

Buenas Noches.

Siguiendo con la implmentacion para pasar a de 16FW a FWH

1. Yo utilizaba WorkShop de Borland, y tengo todo en DLL, segun lo leido en la documentacion es recomendable que toda esta DLL grabarla como un solo RC, que sea del Mismo nombre del PRG principal. para incluirlo directamente en el EXE al momento de linkearlo,
Consulta:
A. ES CORRECTO ??
B. se puede seguir usando el WorkShop si continuamos trabajando con el Metodo RC ???
C. alguna recomendacion , es necesario otro manejador de recursos???


2. En realidad cargaba dos DLL de la siguiente manera :

W1_DLL = W_PATH_DLL+"FWDLL\WGES.DLL"
W2_DLL = W_PATH_DLL+"FWDLL\BWCC.DLL"
SET RESOURCES TO W1_DLL,W2_DLL

como veran, cargaba dos DLL que se encontraban en la carpeta W_PATH_DLL

Segun lo leido, he cambiado esta carga de DLL por lo siguiente al inicio del programa principal:

* Activacion del BCC32.DLL PARA USAR BOTONES DE BORLAND
BWCCRegister( GetResources() )

y al Final del PRG Principal he puesto lo siguiente:

DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL"

Consulta:
AHORA LUEGO DE ESTOS CAMBIOS TENGO PROBLEMAS AL EJECUTAR ALGUNA OPCION QUE USE DIALOGOS CREADOS EN ESTE RC, COMO SI NO EXISTIERA. EN CAMBIO SI USO DIALOGOS SIN RECURSOS O MENSAJES FUNCIONA NORMAL.

Me dan una ayuda

Gracias.

Lubin
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Antonio Linares » Tue Apr 24, 2007 7:07 am

Es correcto: Salvar los recursos como RC y que se enlacen dentro del EXE.

> SET RESOURCES TO W1_DLL,W2_DLL

Quita esta línea, ya que los recursos los localiza la aplicación directamente

Puedes seguir usando el Resources Workshop, ó usar el PellesC que incluye editor de recursos, u otros más que existen.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby lubin » Wed Apr 25, 2007 2:04 am

Hola Antonio

Por aqui siguiendo la historia con DLL y RC

Te comento que me sale un error al ejecutar unas de las opciones del menu del Programa, definitivamente es cuando se va activar uno de los dialogos , porque cuando uso un MSGSTOP("Prueba") `por ejemplo , sale bien y pero al entar a crear el dialogo sale el problema


FiveWin For Harbour GPF occurred

Called From : DIALOGBOX/0)
Called From : TDIALOG:ACTIVATE(0)
Called From : WFI_REINDEX(320)
Called....


Este ultimo modulo es el programa que invoca al Dialogo que esta en el RC.

en otras opciones de mi menu se sale simplemente del programa al Windows , sin mensaje alguno.

Me das una ida, Gracias

Lubin


Antonio Linares wrote:Es correcto: Salvar los recursos como RC y que se enlacen dentro del EXE.

> SET RESOURCES TO W1_DLL,W2_DLL

Quita esta línea, ya que los recursos los localiza la aplicación directamente

Puedes seguir usando el Resources Workshop, ó usar el PellesC que incluye editor de recursos, u otros más que existen.
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Antonio Linares » Wed Apr 25, 2007 5:55 am

Lubin,

Intenta proporcionarnos un ejemplo pequeño y autocontenido que reproduzca el error, para que podamos probarlo aqui. Gracias,
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Raymundo Islas M. » Wed Apr 25, 2007 6:54 pm

Hola Lubin

Si ya convertitste la DLL a RC, abrelo con algun editor de textos, y busca la palabra Borland, es probable que por algun lugar tengas definido un control de ese tipo.

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby lubin » Wed Apr 25, 2007 9:40 pm

Hola Raymundo,
Ya le di una verificada pero no existe ninguna definicion con BORLAND
vere hacerle un seguimiento usando un DLL pequeño, pues el que tengo tiene muchos dialogos, para detectar el error,

Gracias, por el aliento ...

Lubin


Raymundo Islas M. wrote:Hola Lubin

Si ya convertitste la DLL a RC, abrelo con algun editor de textos, y busca la palabra Borland, es probable que por algun lugar tengas definido un control de ese tipo.

Saludos
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby lubin » Mon Apr 30, 2007 1:50 am

Hola Raymundo y a los amigos del foro

Por aqui regresando...

te comentare que sigo aun con el problema no encontre nada con la palabra Borland
pero ubique posibles controles como :

BorStatic
BorBtn
BorShade

creo qe son controles borland ,,, seria ese el problema ??

estaba usando el verce para generar el archivo exe pero ahora lo hice a mano.. usando un BAT parecido al build.bat de samples.. pero me salio el mismo mensaje de error

bueno... si hay alguna idea

gracias..



Raymundo Islas M. wrote:Hola Lubin

Si ya convertitste la DLL a RC, abrelo con algun editor de textos, y busca la palabra Borland, es probable que por algun lugar tengas definido un control de ese tipo.

Saludos
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby Antonio Linares » Mon Apr 30, 2007 6:28 am

Lubin,

La forma correcta de usar controles de Borland en 32 bits es esta:
Code: Select all  Expand view
   ...
   local hBorland := LoadLibrary( "BWCC32.DLL" )
   
   BWCCRegister( GetResources() )

   ... (código de tu aplicación)

   FreeLibrary( hBorland )

return nil

DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL"
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Raymundo Islas M. » Mon Apr 30, 2007 1:46 pm

Hola Lubin

Efectivamente, esos son los controles.

En este caso tienes 2 opciones :

- Aplicar el codigo que te comenta Antonio

- Sustituirlos por otros controles similares


Si haces una busqueda y checas en muchos post anteriores refentes a este punto, veras que todos coinciden en desaparecer estos controles.


Saludos.
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby lubin » Mon Apr 30, 2007 2:09 pm

Hola , Antonio y Raymundo

Efectivamente, con FW16 Bits me encontre con ese problema, y se resolvio retirando muchos de esos controles, por ello algo recordaba..
pero quedaron algunos que por lo visto aun fastifdian en FWH, pero para todo problema hay una soluciuon...

gracias sus comentarios.

Les comentare los resultados de ello


y aproposito .. FELIZ DIA DEL TRABAJADOR !!!!!

Lubin



Raymundo Islas M. wrote:Hola Lubin

Efectivamente, esos son los controles.

En este caso tienes 2 opciones :

- Aplicar el codigo que te comenta Antonio

- Sustituirlos por otros controles similares


Si haces una busqueda y checas en muchos post anteriores refentes a este punto, veras que todos coinciden en desaparecer estos controles.


Saludos.
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Re: De 16 a 32Bits-Caso02 - Cambio uso de DLL a RC

Postby lubin » Mon Apr 30, 2007 9:42 pm

Gracias Antonio y Raymundo

Al parecer este problema llego a su fin, y confirmo las soluciones comentadas en este tema:

Alternativas de Solucion :
1ra alternativa : . Colocar el Codigo indicado por Antonio
o 2da alternativa : retirar los botones de Borland

Ambas alternativas fueron probadas y son totalmente operativas

Gracias a ambos

Seguro nos vemos en algun otro tema en mi conversion de 16Bits a 32 Bits

Lubin
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], russimicro and 37 guests