Clarion - AYUDA DEFINITIVA POR FAVOR !

 
Vista:

AYUDA DEFINITIVA POR FAVOR !

Publicado por HERNAN (8 intervenciones) el 02/07/2007 15:09:58
Alguien me puede ayudar !
Tengo una Aplicación que trabajaría en red... esta en clarion 6.3 con tablas tps, la manera de acceso es por una unidad de red al exe y a los TPS... el problema es que cuando alguna ventana con browse esta abierta en una terminal al intentar abrirla en otra se pone sumamente lento, es decir cuando la ventana (cualquiera) esta abierta en una terminal cuando se quiera abrir el mismo modula para trabajar en otra terminal se pone muy lento todo ! ... ya revise todo lo sugerido en el foro para situaciones como esta por ejemplo :
* FLUSH o STREAM o LOGOUT
*LAN
*loading method usar "PAGE"
*Share
*etc ...
*La tabla tiene 800 registros.

Nada de esto funciono sigue estando lento...
¿ es posible que los tps son lentos por naturaleza o que clarion no es una herramienta
poderosa para multiusuario ? ¿ me veo obligado a migrar a sql o algo parecido

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:AYUDA DEFINITIVA POR FAVOR !

Publicado por HERNAN (8 intervenciones) el 06/07/2007 00:23:03
HAY UNA RESPUESTA A MI CONSULTA ???
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por Isaac Flores (54 intervenciones) el 06/07/2007 20:24:14
Saludos, yo trabajo en una empresa de desarrollo, y he hecho sistemas ERP completos con archivos TPS, y muchos usuarios.

Es lento por la manera en que lo manejas, corriendo el programa en el servidor para cada cliente. lo que te recomiendo, es que cada terminal tenga su programa, y este solo apunte los datos al servidor. Así bajas el tráfijo en la red, además de tener redes de alta velocidad (100mbs), si son de 10mbs, cambialas.

Esto te agilizará la velocidad. Utiliza el setpath() para redirigir los datos al servidor.

Cuando tengas más de 30 usuarios concurrentes y tus archivos superen varios megas, te recomiendo ir pensando en usar archivos de pervasive u otro SQL, o cuando veas que tu aplicación se ha vuelto más lenta.

el logout/commit te sirve para garantizar la integridad de tus bases de datos, y hace un poco más rápido el acceso. El flush y stream no sirven con logout/commit al mismo 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:AYUDA DEFINITIVA POR FAVOR !

Publicado por HERNAN (8 intervenciones) el 06/07/2007 22:27:17
Muchas gracias por responder Isaac ... voy a hacerte caso y probar con setpath()
me das una mano mas ? la idea es esta :
tiro los tps en una carpeta en la pc cuyo nombre es PC1
y desde las terminales apunto el path a esa pc, el tema es que no se como hacerlo !
lo que encontré en la ayuda es algo como
SETPATH('C:\LEDGER') !Change to the ledger directory

SETPATH(UserPath) !Change to the user's directory

pero mucho no me ayudo !

La pregunta es :
Como y donde defino el SETPATH ?
en cada tabla desde el diccionario ?
TIpo SETPATH (\\PC1\BASES\*.TPS) ?

Bueno gracias Isaac por ayudarme ....

Saludos !!!
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por Isaac Flores (54 intervenciones) el 10/07/2007 19:03:50
Hola, el setpath afecta a TODOS los archivos de tu aplicación, a partir del momento en que se ejecute, por lo que tiene que estar al inicio. si no manejas un catálogo de empresas o semejante, puedes definir el camino en el archivo .INI, para que al entrar el sistema, lo leas y establezcas el camino.

Pon los datos en un directorio en el servidor, como lo mencionas, y en cada máquina mapeas a esa ubicación, ej.

z:\sistema\datos

entonces, al iniciar el sistema (lo puedes poner en los embebidos globales por ejemplo en "program setup", o en uno de los embebidos de inicio (ej. "open window" del menú principal.

ej.

Loc:Directorio= getini('Parametros', 'DirectorioDatos', , 'Aplicacion.ini')
setpath(Loc:Directorio)
if errorcode()
message('No se Encontró el Directorio de Datos.|' & |
'Error: ' & error(), 'Error de Proceso', icon:hand, button:ok)
halt(0)
end

A partir de este momento, el setpath ha establecido el directorio por defecto para todos los archivos sin excepción.
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por HERNAN (1 intervención) el 11/07/2007 15:22:39
Muchas gracias de nuevo es muy importante tu ayuda, te agradezco un montón ! mira, lo que hice es esto:

En el openWindow del main escribi esto:

GLO:CONEXION = GETINI('intl','C:\PRUEBA\37_BASELIN\', ,'Aplicacion.ini')
setpath(GLO:CONEXION)
if errorcode()
message('no se encontro las bases')
end

En el ini puse esto:

[intl]
C:\PRUEBA\37_BASELIN\*.tps

------
GLO:CONEXIÓN = Variable Global S80
------
Con esto NO me logra conectar a los tps, me arroja el mensaje ('no se encontró las bases') se que esta mal el ini pero no se como va, que se escribe ... de mientras voy a seguir intentando ... ¿ hay que poner algo en el fullpathname ?
¿ tal vez la variable GLO:CONEXION ? gracias !!!

Hernan.
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por Isaac Flores (54 intervenciones) el 23/07/2007 18:10:30
Hola de nuevo, he andado medio ocupado.

los parámetros de getini están mal....
debes tener lo siguiente:

GLO:CONEXION = GETINI('intl','Directorio', 'C:\PRUEBA\37_BASELIN', 'Aplicacion.ini')
setpath(GLO:CONEXION)
if errorcode()
message('no se encontro las bases')
end

y en el archivo APLICACION.INI te queda lo siguiente:

[intl]
Directorio=C:\PRUEBA\37_BASELIN

solo el directorio donde están los datos, sin especificar la extensión de los archivos a accesar.

en el getini, el tercer parámetro "'C:\PRUEBA\37_BASELIN'" que pones, es un valor por default que te regresa getini en caso de que NO encuentre la variable "Directorio" en la sección [intl].

Ten en cuenta que exactamente como escribas [intl] y "Directorio" en la instrucción GETINI tienen que estar en el archivo Aplicacion.ini. Es sensitivo a mayusculas y minúsculas o cualquier otro caracter válido. por lo tanto "directorio" y "Directorio" son totalmente diferentes.

Saludos, espero que se resuelvan tus problemas.
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por Hector (15 intervenciones) el 16/05/2015 01:35:26
Hola,. he visto tu comentario y me parece sumamente interesante.. Estoy desarrollando un sistema integrado. Y seria para 30 clientes mas o menos, ya he usado varias veces las aplicaciones en clarion para hasta 5 usuarios, y me funcionan bien,. pero ya que no tengo tanta experiencia en el desarrollo de sistemas con clarion, tengo 4 años progrmando en clarion.. tengo una consulta sera que para 30 usuarios podria funiocionar mi aplicacion??,. yo hago de otra manera, pero al final es igual al concepto de setpath...
lo que hago es que en cada cliente instalo el sistema, pero en el acceso directo de mi aplicacion, hay una opcion que me permite redirijir los datos, y ahi es donde modifico.. ya sea, por la IP o el nombre de mi servidor.. no se que pienses de ese metodo,. me interesa bastante tu opinion,. me seria muy util,. desde ya.. saludos, desde Paraguay...
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por Laura (8 intervenciones) el 11/07/2007 01:17:04
hola.. como estas?yo recien empiezo con clairon y no entiendo mucho saque un manual de aca.. pero es medio basico.. y hay cosas que faltan vos tenes algun otro manual?que no sea en ingles si es posible.
un beso, lau
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:AYUDA DEFINITIVA POR FAVOR !

Publicado por norberto (9 intervenciones) el 12/07/2007 12:53:01
Chequea en los browses box behavior, que las opciones loading method esten declaradas en PAGE y NO en FILE.
a ver si va.
saludos
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