![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
FindClose. Error al compilar.
Hola compadres,
Tengo un problema con la instrucción FindClose. La uso para detectar archivos junto con FindFirst y FindNext, pero a la hora de cerrar el TSearchRec con FindClose Delphi me da el siguiente error al compilar: Incompatible types: 'Cardinal' and 'TSearchRec' El código es bien simple y en uses he añadido FileCtrl... Código:
... var FileSearch: TSearchRec; ... begin ... if FindFirst(Path + 'file.txt', faAnyFile and not (faVolumeID or faDirectory), FileSearch) = 0 then begin repeat .... until FindNext(FileSearch) <> 0; .... FindClose(FileSearch); end; ... ¿Que puedo hacer para que no me pase esto? Un saludo y muchas gracias de nuevo ![]() |
#2
|
||||
|
||||
Hola.
Probé tu código con Delphi 7 y como esperaba funciona bién. Te pongo el código que usé, hice algunos cambios pero no alteran la funcionalidad.
En un principio pensé que estaba tomando la función FileSearch en lugar del nombre de variable, pero no es eso... Tu código debería funcionar ok. Saludos. Edito: No incluí la unit FileCtrl pero tampoco es eso. Última edición por ecfisa fecha: 15-12-2010 a las 10:44:19. |
#3
|
|||
|
|||
Ya si es super curioso... A mí también me funcionaba hasta que agregue una nueva unidad.... si buscas en la ayuda de delphi FindClose justo encima de FindClose function sale FindClose a secas y es ese el que esta usando por defecto mi programa. Me pide la variable hFindFile... en vez de una TSearchRec
los uses que utilizo en la nueva unidad son: uses SysUtils, Dialogs, MainFrm, Unit4, Windows, Messages, Variants, Classes, Graphics, Controls, Forms, StdCtrls, Grids, BaseGrid, AdvGrid, AdvGridExcel, ComCtrls, ExtCtrls, Spin, IniFiles, FileCtrl; Muchas gracias por haberte molestado de todas maneras ![]() Última edición por McK fecha: 15-12-2010 a las 12:07:53. |
#4
|
||||
|
||||
Hola McK.
Ahora que veo como tenés el órden de inclusión de las units, me doy cuenta... La función FindClose está definida en la unit SysUtils y tambien en la unit Windows. En la unit Windows la función esta declarada con un parámetro de tipo Cardinal (handle) y en SysUtils con un parámetro de tipo TSearchRec. Al estar SysUtils declarada primera, la posterior inclusión de la unit Windows superpone la función, dandote el problema. Tenés dos formas de solucionarlo: Cambiando el órden de inclusión.
O calificando la función.
Un saludo. Última edición por ecfisa fecha: 15-12-2010 a las 12:55:36. |
#5
|
|||
|
|||
Efectivamente!!! Solucionado!!
Mil gracias ecfisa! |
#6
|
||||
|
||||
Pues justo acabo de encontrarme con este problema y me ha ahorrado un buen rato de investigación.
Muchas gracias a todos. |
#7
|
|||
|
|||
Gracias por la Solución...
__________________
Saluda Atte Neeruu!!! :) |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error en .dcu(s) al Compilar | Deiv | Varios | 6 | 04-10-2006 10:28:04 |
Error al compilar | Zuga | Varios | 0 | 31-01-2005 13:24:03 |
Error al compilar | sharky | Varios | 4 | 04-12-2004 00:35:50 |
FindFirst, FindNext, FindClose | DJ VMan | Varios | 4 | 17-11-2003 01:36:53 |
Error al compilar | CFPA86 | Varios | 1 | 15-10-2003 17:52:10 |
![]() |
|