![]() |
procedimiento con componentes.
me gustaria poder hacer procedimientos con componentes mas omeno de esta manera
procedure casa(); begin ComboBox3.Items.Clear; ComboBox4.Items.Clear; DataModule2.Table3.First; while( not DataModule2.Table3.Eof )do begin if( DataModule2.Table3.FieldValues['Status']='NO ASIGNADO') then Begin ComboBox3.Items.Add(DataModule2.Table3.FieldValues['N_vale']); ComboBox4.Items.Add(DataModule2.Table3.FieldValues['N_vale']); End; DataModule2.Table3.Next; end; end; Mas sin embargo me marca errores, alguien puede ayudarme...... |
Hola vrortiz. Bienvenido a los foros del clubdelphi.
En primer lugar voy a pedirte que leas la guia de estilo de los foros (encontrarás un vínculo en mi firma al final de este mensaje). También seguí el link para aprender a usar la etiqueta [ code ]. Luego, el mensaje que has enviado es bastante dificil de responder, no porque sea de un nivel muy elevado, sino porque no tiene la información necesaria para ayudarte. Ese "me marca errores" es muy vago. No se sabe si son errores en tiempo de compilación o de ejecución... y mucho menos el mensaje específico del error. Por tanto, te recomiendo la lectura de este otro hilo que trata precisamente del tema de la calidad de las preguntas. Hasta luego. ;) |
Cita:
--------------- Sin embargo voy a hacerle de adivino aunque, claro está, puedo equivocarme. Los errores que te marca son al momento de compilar y son del estilo Cita:
1. El procedimiento casa no es método de ninguna clase (vamos, de ningún formulario) ya que no va prefijado por un identificador y un punto como en
2. Por tanto identificadores como ComboBox3 y DataModule2 tendrían que ser variables declaradas en un contexto global. 3. Aunque posible esto último es altamente improbable y en todo caso contrario a las buenas reglas de programación. Lo común es que se refieran a componentes insertadas en un formulario. 4. Por tanto el compilador no sabe a qué variables se refieren y marca el error. La solución a esto sería prefijar los mencionados identificadores con la clase a la que pertenezcan, por ejemplo:
Lo cual, no obstante, sería muy extraño y poco recomendable: que un procedimiento global haga referencia a un formulario en particular. En otras palabras, supongo que estás tratando de manipular un formulario desde un procedimiento global y veo dos opciones: a. Implementas el procedimiento como método del formulario:
b. o pasas el formulario como parámetro al procedimiento:
Aunque la opción b sólo sería indicada para un procedimiento de caracter muy general que pueda aplicarse a varios formularios (lo cual no creo que sea el caso). Bueno, si mis adivinanzas no tienen nada que ver con la realidad no será culpa mía. ;) // Saludos |
Solo debo añadir, que en caso que el Método o procedimiento no lleve parámetros, no es necesario (y de hecho no compilará el código) poner los paréntesis vacios (al mejor estilo de c). Basta con añadir el punto y coma... algo como:
Cita:
Cita:
Es decir.. en lugar de Procedure Casa(Forma : TForm); es preferible: Casa(Forma : TForm1); o Casa(Forma : TFormBaseConsultas); Hasta luego. ;) pd. Román: veo que vas bien en las clases de Adivinación para Moderadores del club...... a ver si me das copia para el examen.. :D :D |
Cita:
Cita:
// Saludos |
Cita:
(solo me falta que también compile en TP :mad: ) Hasta luego. :D :D :D pd. Pos yo al de codificación sin IDE si he ido... hacemos intercambio de copia en el examen??? :D :D |
Bueno muchachos aparte de buenos programadores metafisicos y demas, que no se diga en el club se encuentra de todo :D
|
La franja horaria es GMT +2. Ahora son las 15:27:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi