PDA

Ver la Versión Completa : TZParse error???


franroju
21-08-2012, 16:57:38
Buenas gente. Ando con un problemilla. Estoy utilizando Delphi 7 con Zeos y MySql.

Tengo un Form, con un simple botoncito (entre otras componentes) al cual al hacerle click, muestra otro Form:

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
with TForm7.Create(nil) do begin
try
ShowModal;
finally
Free;
end;
end;

end;


También he probado creando el Form7 al crear la aplicación y luego hacerle solo Showmodal y el error es el mismo.

En fin, el error indica lo siguiente:

TZParseError with message 'Unexpected end of expression. Process stopped bla bla bla'.

Puse breakpoints al momento de hacer click al botón, pero ni siquiera entra al procedimiento. Y lo extraño es que, cierro la ventanita del error, vuelvo a apretar el botón, y funciona!!:confused: :eek:

No se, les agradecería si me tiran un centro. Entiendo lo que dice el error, pero no me dice dónde.

Muchas gracias

roman
21-08-2012, 17:06:33
Evidentemente el error no está en el código que pones. Si este error surge durante la ejecución del programa tendrías que decirnos qué usas en el formulario TForm7, pues pareciera que algún componente o código ahí está causando el problema.

// Saludos

franroju
21-08-2012, 22:00:19
Bueno, esto es más raro de lo que pensaba. Descartemos que el error este en el TForm7. Paso a comentar lo que sucede.

El error surge solamente la primera vez que hago click en cualquier componente del TForm2 (que es el que llama al TForm7 al cual ya libere de culpas je).

Que quiere decir eso? Cuando ingreso al TForm2 y realizo operaciones sin usar el "click", es decir, invocando a TForm7 manejando el Tab y Enter, funciona perfecto. Es más, luego de que funcione de esa menera, puedo hacer click en las demás componentes y el error no sale mas.

Como ya dije, sólo aparece si la primera acción que hago en el TForm2 es un click. :confused:

No entiendo un pomo, ja.

En fin, si me ayudan, les agradecería. Sino, veré que se puede hacer.

Muchas gracias.

roman
21-08-2012, 22:08:16
¿Qué componentes tienes en Form2?

// Saludos

franroju
21-08-2012, 22:20:16
Ahi va el arbolito:

Form2
GroupBox1
DBGrid
DBNavigator
Panel2
Edit3
Edit4
Label3
Label4

GroupBox2
MainMenu
Panel1
BitBtn1
Edit1
Edit2
Label1
Label2
Panel3
BitBtn2
BitBtn3

roman
21-08-2012, 22:21:37
Ajá. Y el dbgrid y dbnavigator ¿a qué están conectados?

// Saludos

franroju
22-08-2012, 01:09:37
Están conectados a una Datasource de una Tabla, ambos (la tabla y el datasource) en un Datamodule, el cual se crea antes que cualquier Form.

roman
22-08-2012, 16:14:07
¿Hay algún evento asociado a esa tabla?

// Saludos

franroju
22-08-2012, 16:34:07
Le hago un Open a la tabla cuando se crea el Form, y después solo le aplico filtros con la propiedad Filter.

dm.clientes.Open;

procedure TForm2.Edit1Exit(Sender: TObject);
begin
dm.clientes.Filter := 'id = '+Edit1.Text;
dm.clientes.Filtered := True;
Edit2.Text := dm.clientes.FieldByName('nombre').AsString + ' ' + dm.clientes.FieldByName('apellido').AsString;
Edit3.SetFocus;
end;

franroju
22-08-2012, 16:43:40
Ya está roman, muchas gracias. Tus preguntas me llevaron derecho a donde estaba el error. Cambie

dm.clientes.Filter := 'id = '+Edit1.Text;

por

dm.clientes.Filter := 'id = '+ QuotedStr(Edit1.Text);

A veces uno se ahoga en un vaso de agua.

Muchas gracias por la atención personalizada, ja.

roman
22-08-2012, 16:51:37
¿Hay manera de echarle un ojo al proyecto o a es parte del proyecto?

// Saludos

roman
22-08-2012, 16:52:48
¡Ah! Justo respondí cuando acababas de responder.

Pues qué bueno que ya se resolvió el problema, aunque no deja de ser extraño el porqué sólo sucedía con el clic.

// Saludos