FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
error
El error que me da es el siguiente:
[Error] uAscensor.pas(73): Incompatible types: 'TNotifyEvent' and 'procedure, untyped pointer o untyped parameter' Gracias! |
#2
|
|||
|
|||
perdon!
Este es el codigo que se me olvidaba. si necesitas que te ponga toda la unit dimelo que te lo pongo si esto no es suficiente.
constructor cAscensor.Crear(NumPlantas, PlantaActual, PlantaDestino: Integer; Grid: tStringGrid); begin inherited Create; self.NumPlantas := NumPlantas; self.PlantaActual := PlantaActual; self.PlantaDestino := PlantaDestino ; PanelInterno := cPanelInterno.Create ((self as cSujeto), Grid, NumPlantas); PanelInterno.parent := Grid; PanelInterno.BoundsRect := Grid.CellRect (0,NumPlantas - PlantaActual); PanelInterno.SetPisoSelected (NumPlantas - PlantaActual); self.Grid := Grid; Timer := tTimer.Create (Grid); Timer.Enabled := False; Timer.OnTimer := Llamar(PlantaDestino); Timer.Interval := 1000; end; procedure cAscensor.Llamar(Destino: Integer); begin If Destino <> PlantaActual then begin RegistrarInicioAscensor; RegistrarInicioPlanta (Destino); PlantaDestino := Destino; end; end; |
#3
|
|||
|
|||
Bueno, sólo era necesario la manera en que construir el timer y la declaración del procedure Eso sí, podrías haberlo encerrado entre las etiquetas [ delphi ] y [ /delphi ] (sin espacios)
Referente a tu problema es que, si te fijas la declaración de un evento OnTimer es la siguiente:
Es decir, el parámetro que espera un objeto, no un integer como tu tienes. La variable que necesitas pasarle, podría ser una propiedad privada del objeto y así, desde dónde necesites (evento OnTimer) usarla Y la forma de asignar el evento sería algo así:
y la definición de Llamar...
Espero te sirva |
|
|
|