Clipper/FiveWin - archivos dll en resource?workshop

 
Vista:
sin imagen de perfil

archivos dll en resource?workshop

Publicado por marcela molina (86 intervenciones) el 06/08/2007 23:16:07
hola a todos.nuevamente necesito su ayuda.
utilzo workshop para crear recursos
pero la unica vez que funciona es teniendo abierta la aplicacion workshop
si la cierro me sale un error este es asi
error fivewin/3 cannot create dialog box resouurce indexa.

PERO NO ME PRESENTA NINGUN PROBLEMA CUANDO TENGO ABIERTO EL WORKSHOP
ME APARECE EL RECURSO. QUE ESTARA PASANDO.?HABRA QUE INVOCARLO DE OTRA MANERA ??

a alguien le ha salido este error.
yo en el programa principal llamo a la dll asi

function ppal()
SET RESOURCES TO "MENU3.DLL"
etc.

function indexar()
DEFINE DIALOG oDlg RESOURCE "INDEXA"

REDEFINE CHECKBOX lReindexar ID 20 OF oDlg WHEN .F.
REDEFINE CHECKBOX lPack ID 21 OF oDlg

MUCHAS GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:archivos dll en resource?workshop

Publicado por El Duro (121 intervenciones) el 06/08/2007 23:54:27
Marcela:

Seguramente es porque estas usando controles tipo Borland y cuando abres workshop este carga la dll BWCC.DLL a memoria y por eso tu aplicación funciona sin problemas.

1.- Lo recomendable es que NO uses controles borland, los expertos dicen que a la larga estas "comprando" problemas.

2.- Si insistes en usar ese tipo de controles debes hacer lo siguiente
a).- Copiar la dll BWCC.DLL a la misma carpeta de tu aplicación o a
\WINDOWS\SYSTEM
b).- Dentro del programa principal (MAIN) agregar estas dos líneas
al principio del programa hBorland := LOADLIBRARY("BWCC.DLL")
y ya para salir de la aplicación pones esta otra línea
FREELIBRARY(hBorland) es para que no se quede en memoria

El Duro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:archivos dll en resource?workshop

Publicado por marcela molina (86 intervenciones) el 07/08/2007 14:56:46
hola .segui tus consejos.solucione el problema.muchas gracias.ahora anda de maravillas.el tema quedo solucionado.
me queda la duda de lo que me dijiste " NO es recomendable usar controles borland "
yo los ocupo ya que se me reduce mucho el tiempo en crear las pantallas.ya ahora que solucione el problema.no se que otro problema me dara en el futuro.
eso de usar controles borlan.va directamente relacionado solo con la creacion de pantallas ?? .en el caso de ser asi.¿ Como lo hago para no usar controles borland.??
creo que la solucion seria crear todas las pantallas a nivel de codigo? usando dialgos.browse ,etc.
bueno espero tu respuesta para quedar mas clara.y asi pòder seguir con fw.
y nuevamente muchas gracias por tu interes en resolver mi problema y por tu valioso tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:archivos dll en resource?workshop

Publicado por El Duro (121 intervenciones) el 07/08/2007 18:20:27
Marcelita:

Creo que no fuí claro, ahí te va nuevamente.

El NO usar controles borland no significa que tengas que definir tus pantallas a puro código, no es lo mismo no usar controles borland que no usar workshop.

Puedes seguir usando workshop para diseñar tus pantallas, es más yo te recomiendo que lo hagas así, los controles borland son lo que estan en la paleta de herramientas de workshop, especificamente son los que estan en la línea vertical más a la derecha, si no recuerdo mal (Yo uso otro editor de recursos) hay BOTON, RADIO BUTTON (tipo diamante), CHECK BOX . etc.

Entonces para NO usar controles borland es no usar esos controles que estan en la línea más a la derecha de la paleta de herramientas a fin de cuentas tienes sus sustitutos, para el BOTON lo tienes en la segunda columna es el primero de la columna, para RADIO lo tienes en la tercera columna, tambien es el primero de la columna, para el CHECK BOX lo tienes en la tercera columna, es el tercero.

Que problemas te puedes encontrar si continuas usando controles tipo borland ?,
segun los expertos puedes tener los "famosos" errores GPF o cuelgues de tu aplicación.

El Duro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:archivos dll en resource?workshop

Publicado por marcela molina (86 intervenciones) el 07/08/2007 21:20:53
muchas gracias nuevamente por tu aclaracion,.
fratelnalmente marcela.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:archivos dll en resource?workshop

Publicado por Gabriel Pascual (913 intervenciones) el 08/08/2007 01:34:50
Marcela:

Cuando usas el Workshop, este utiliza sus propios controles para desplegar en pantalla.

Las aplicaciones Windows basan su interfaz en unos DLLs que encontraras en todos los Windows: CTL3D.DLL y CTL3DV2.DLL, esas estan en todos los windows, son universales.

Los productos de Borland se "inventaron" su propio DLL para mostrar controles especiales, y estos controles estan basados en una DLL llamada BWCC.DLL.

El usar esa DLL presenta varios problemas,

Para empezar, existen como 2 o3 versiones distintas, y esas son usadas por algunos drivers de hardwares, el problema es que no son compatibles entre si y ademas tienen el pesimo gusto de instalarse en la carpeta system de tu ordenador, con lo cual no puedes borrarla ni cambiarla de lugar.

En segundo lugar, si un controlador se carga ANTES de se cargue tu programa entonces ya no podrás hace uso de tu version de BWCC (hay forma de engañar al sistema operativo, mas adelante te explicare como) y por lo mismo tendas problemas.

En tercer lugar no son compatibles con los temas de Windows XP, bueno, si, son compatibles, pero las aplicaciones se ven ESPANTOSAS vamos, que rompe todo el esquema de color de Windows.

Y en cuarto lugar, si te pasas a 32 bits, como está haciendo todo el mundo, entonces tendras que hacer algunos "malabarismos" adicionales porque la BWCC.DLL es de 16 bits, y tu necesitarás el equivalente a 32 bits.

Lo aconsejable es eliminar los controles de borland, ¿ como los identificas ? son los que estan en la paleta de herramientas hasta el final, es decir, en la ultima columna, tienes que evitar usar esos controles en tus aplicaciones, el que sin duda te va a doler mas es el boton con Bitmaps, pero no te preocupes, FW de varias clases de que los reemplazas y son mejores, como BTNBMP, la TSButton y BitmapButton.

Como se que eres buena chica, y que quitaras todos los controles Borland de tus programas, pero como tambien necesitas trabajar ya con FW aqui esta la receta para engañar al sistema operativo con la carga del BWCC.DLL

1) Copia la BWCC.DLL que sepas que funciona a la carpeta donde esta tu EXE de FiveWin.

2) RENOMBRA la DLL, por ejemplo como MIBWCC.DLL ¿ porque renombrarla ?, pues porque si algun otro programa que necesite la DLL ya la ha cargado previamente en memoria, entonces podrias tener problemas dado que no sabes si esa DLL es compatible con TU DLL.

3) Desde código define una variable publica para forzar la carga de la DLL, por ejemplo:

PUBLIC hBorland

4) Carga tu DLL renombrada y guarda el handle en la variable publica previamente definida:

hBorland := LoadLibrary ("MIBWCC.DLL")

Asegurate de cargar TU DLL renombrada.

5) Cuando finalice tu programa, simplemente haz :

FreeLibrary (hBoland)

Con esto evitaras dejar en memoria la DLL y que esta presente problemas con algun otro programa que utilice la misma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar