Programación en RED

Programación en RED

Postby fergonm » Thu Nov 11, 2010 12:11 pm

Estoy Intentando que una Aplicación Funcione en red . Utilizo tablas relacionadas MEDIANTE SET RELATION y lo presento mediante un BROWSE

¿ Debo Bloquear Las Tablas "antes" de presentar el BROWSE ? ¿ Caso de USAR la Cláusula EDITABLE se Deben Bloquear Las Tablas ?

Muchas gracias. FERNANDO
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: Programación en RED

Postby jll-fwh » Wed Nov 17, 2010 1:57 pm

Hola Fergonm:

Los registros solo debes de bloquearlos cuando vas a grabar/reemplazar los datos. Si usas browses en BD directamente, yo los cambiaria por Browse con Arrays, o para modificar los datos con algun dialogo aparte, sino tendras muchos problemas de bloqueos, ya que para estar modificando un dato que esta en un browse que ataca directamente a la BD, tiene que estar bloqueada la BD.

La filosofia de la programacion en RED, cambia un poco a la monopuesto, pero son pequeños detalles.

un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
User avatar
jll-fwh
 
Posts: 408
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia

Re: Programación en RED

Postby fergonm » Wed Nov 17, 2010 4:40 pm

jll-fwh wrote:Hola Fergonm:

Los registros solo debes de bloquearlos cuando vas a grabar/reemplazar los datos. Si usas browses en BD directamente, yo los cambiaria por Browse con Arrays, o para modificar los datos con algun dialogo aparte, sino tendras muchos problemas de bloqueos, ya que para estar modificando un dato que esta en un browse que ataca directamente a la BD, tiene que estar bloqueada la BD.

La filosofia de la programacion en RED, cambia un poco a la monopuesto, pero son pequeños detalles.

un saludo
JLL


Muchas greacias por tu respuesta.

Un saludo. Fernando
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: Programación en RED

Postby fernandomoralesdr » Thu Nov 18, 2010 8:21 am

Hola.
Yo utilizo las rejillas sólo para mostrar los datos. Para modificar un registro de la rejilla, con doble click abro un diálogo, edito sus campos, si salgo con Aceptar bloqueo y actualizo. También bloqueo en el momento de borrar. Algo así como:

Edición:

if lSave

while ! Archivo->(dbRLock())
MsgInfo("Registro bloqueado por otro usuario, pulse Enter para reintentar")
end while

...sustituyo los valores del campo por los de las variables

Archivo->(dbCommit())
Archivo->(dbRUnLock())
oBrw:refresh()
end if

Borrado:

if lConforme

while ! Archivo->(dbRLock())
MsgInfo("Registro bloqueado por otro usuario, pulse Enter para reintentar")
end while
Archivo->(dbDelete())
Archivo->(dbCommit())
Archivo->(dbRUnLock())
oBrw:refresh()

end if

Importante lo del dbCommit() para que se actualicen los datos en el disco y tambien que apertures los archivos con la cláusula SHARED.

Espero haberte sido de ayuda.
Un saludo,
Fernando
Las Palmas de Gran Canaria
fernandomoralesdr
 
Posts: 139
Joined: Sun Apr 23, 2006 9:00 am

Re: Programación en RED

Postby fergonm » Thu Nov 18, 2010 4:35 pm

Muchas gracias Fernando por contestar.

Entiendo perfectamente que no puedo modificar directamente estando en RED.

Normalmente lo hago así, es decir edito con un cuadro de dialogo y guardo, por lo tanto, el cambio no será tan traumático. Sólo
hay unas fechas que permito que se editen en el propio BROWSE con la cláusula EDITABLE. Ya veo que no será posible y que deberé abrir un cuadro de dialogo.

Muchas gracias por contestar. Un saludo desde Zaragoza. Fernando
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: Programación en RED

Postby fernandomoralesdr » Thu Nov 18, 2010 4:49 pm

Mi consejo: desarrolla siempre como para red. De esta manera aún estando en monopuesto, el cliente puede ejecutar la aplicación más de una vez simultáneamente en el mismo ordenador sin problemas, ¿ok?
Si necesitas ayuda, ya sabes.
Un saludo,
Fernando
Las Palmas de Gran Canaria
fernandomoralesdr
 
Posts: 139
Joined: Sun Apr 23, 2006 9:00 am

Re: Programación en RED

Postby fergonm » Thu Nov 18, 2010 6:20 pm

Probaré, pero como el cliente soy yo ya que programo de manera amateur, lo haré pronto

Muchas gracias y un saludo. Fernando
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 93 guests