FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Dudas genericas
Hola,
Sigo pasando una aplicacion a interbase 7, que estaba hecha para paradox 5. Utilizo delphi 6. Tengo varias dudas, que la ayuda del delphi no me aclara del todo. Exactamente, ¿cómo funcionan los enable/disablecontrol del delphi? ¿tengo que usarlo con los try ... finally...end...? ¿cómo funcionan lo bookmark? ¿si tengo un tGrid, conectado a una TIBTable, y hago un post en dicha tabla. ¿como hago para que se actualize mi tabla, y por tanto me muestre los cambios inmediatamente en el TGrid? ¿El procedure refresh, despues de este post, usando interbase 7, ¿me deja en el mismo registro? Si no es así, ¿cómo hago para figar la tabla en el registro que acabo de crear, después del refresh? (esto es, por que después de guardar el registro, necesito tomar el valor de uno de sus campos, que es un campo auto incremental, para asignarlo a otro campo inmediatamente después). Muchas gracias, virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#2
|
||||||
|
||||||
Cita:
Cita:
Cita:
Código:
procedure ActualitzaTaula(DataSet : TDataSet; Transac : TIBTransaction); var Marca : TBookmark; begin Marca := DataSet.GetBookmark; Transac.CommitRetaining; DataSet.Close; DataSet.Open; DataSet.GotoBookmark(Marca); end; Cita:
Cita:
Cita:
|
#3
|
|||
|
|||
Gracias por tu ayuda, pero ¿podrías ser más especifico en el funcionamiento de bookmark y lo de disable-enablecontrols?
Es que, en lo que más problemas tengo, es en que casos hay que usarlo, vamos, que es lo que hacen. Por que, en el help te dicen un poco de que van, pero no me queda claro, y creo que por ello, lo estoy usando algo mal. Por otro lado, lo del commit o CommitRetaining, lo estoy usando dentro del evento AfterPost de las tablas, y en el evento AfterCancel, estoy poniendo el RollbackRetaining. ¿tengo que poner esto mismo secuencialmente después de un refresh, directamente dentro del código? Es que, como ya te comento, poniendolo dentro del event, no me lo está refrescando, y no se si es por como lo pongo, o que tal vez tengo que configurar mi transacción de algún modo en concreto, para que esto me funcione correctamente. En cuanto a lo de poner try... finally...end... ¿puedo ponerlo para que, dentro de un procedure me afecte sólo a una parte del código, o me tiene que incluir todo el código menos los: FrmVentana1 := TFrmVentana1.Create(Self);? Muchisimas gracias por tu ayuda, una vez más. Virginia Romero
__________________
Sonrie al mundo, y el mundo te sonreirá :) Última edición por Giniromero fecha: 08-07-2003 a las 10:22:45. |
#4
|
||||
|
||||
Cita:
Cita:
Cita:
Cita:
Código:
procedure ..... var begin ......... Mis instrucciones fuera del try..finally..end ....... try disablecontrols finally enablecontrols end; ......... Mis instrucciones fuera del try..finally..end ....... end; |
#5
|
|||
|
|||
La verdad, me has aclarado muchas cosas que no terminaba de entender. sin embargo con ello se me han creado más dudas.
1) ¿puedo usar varios try.... finally... end dentro del mismo procedure? esto es, si por ejemplo tengo un procedure que me gestiona varias tablas, y necesito hacer un disablecontrols a dos de ellas, en el mismo procedure, pero uno a continuacion de otro para tablas distintas... ¿podría? 2) podría ser, el hecho de que una tabla esté como disablecontrols, el motivo de que no funcione el refresco de datos, aunque tenga, en el evento afterpost, el commit de la transaccion, tal como comenté anteriormente? Gracias por todo Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#6
|
|||
|
|||
Cita:
Cita:
|
#7
|
|||
|
|||
Cita:
Hola, en principio si están en la misma transacción, pues sólo tengo una en la aplicación, y a ella están conectadas todas mis tablas. En cualquier caso, te agradezco infinito tu ayuda. No saber cuanto me has ayudado. Ahora tengo que intentar ordenar todo esto, y ponerlo en práctica. Gracias por todo, Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|