Page 1 of 1
De 16 a 32Bits-Caso02 - Cambio uso de DLL a RC
Posted: Tue Apr 24, 2007 3:11 am
by lubin
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 _ 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
Posted: Tue Apr 24, 2007 7:07 am
by Antonio Linares
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.
Posted: Wed Apr 25, 2007 2:04 am
by lubin
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.
Posted: Wed Apr 25, 2007 5:55 am
by Antonio Linares
Lubin,
Intenta proporcionarnos un ejemplo pequeño y autocontenido que reproduzca el error, para que podamos probarlo aqui. Gracias,
Posted: Wed Apr 25, 2007 6:54 pm
by Raymundo Islas M.
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
Posted: Wed Apr 25, 2007 9:40 pm
by lubin
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
Posted: Mon Apr 30, 2007 1:50 am
by lubin
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
Posted: Mon Apr 30, 2007 6:28 am
by Antonio Linares
Lubin,
La forma correcta de usar controles de Borland en 32 bits es esta:
Code: Select all
...
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"
Posted: Mon Apr 30, 2007 1:46 pm
by Raymundo Islas M.
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.
Posted: Mon Apr 30, 2007 2:09 pm
by lubin
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.
Re: De 16 a 32Bits-Caso02 - Cambio uso de DLL a RC
Posted: Mon Apr 30, 2007 9:42 pm
by lubin
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