FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
struct y record
Hola amigos:
Soy nuevo en el foro, así que espero que me perdonen en el caso de cometer algún error como postear donde no se debe... LLevo programando 6 meses en Delphi7 y la verdad es que por el momento es el mejor compilador que he programado hasta ahora, pero tiene la desventaja de que en muchas ocasiones hay que pasar código de Visual C++ a Delphi y me acao de encontrar con una peculiaridad y es la siguiente: C++ permite definir estructuras con el comando struct, al igual que Delphi lo permite con el comando record, así que para pasar C++ a Delphi no hay más que reordenar dicho código... Visual C++: struct EFFECTS_NODE { LPDIRECTINPUTEFFECT pDIEffect; DWORD dwPlayRepeatCount; EFFECTE_NODE* pNext; } Delphi7: type TEFFECTS_NODE = record pDIEffect : IDIRECTINPUTEFFECT; dwPlayRepeatCount : Cardinal; pNext : ^TEFFECTS_NODE end; Resulta que Visual C++ puede definir en el interior de struct una variable puntero dentro de si mismo, pero Delphi7 no deja hacerlo dando el siguiente error: Type TEFFECTS_NODE is not yet completely defined No sé si definiedo antes la estructura en algún sitio y luego definiendola no me dará error...seguro que a vosotros se os ocurre alguna forma... El código no es más que implementar DirectInput9 para Delphi para crear un ForceFeedBack. Espero que la explicación sea correcta...no la quiro fastidiar en mi primer post Un saludete y gracias __________________________________________________________________________________________ http://www.muchotrasto.com Última edición por c4_esp_VR fecha: 13-12-2007 a las 22:13:41. |
#2
|
||||
|
||||
En pascal, y por lo tanto en delphi, se resuelve ese problema de la siguiente manera:
Código:
type PEFFECTS_NODE = ^TEFFECTS_NODE; TEFFECTS_NODE = record pDIEffect: IDIRECTINPUTEFFECT; dwPlayRepeatCount : Cardinal; pNext : PEFFECTS_NODE; end; |
#3
|
|||
|
|||
Gracias seoane, me imaginaba que se resolvería de dicha forma, pues es una lista que se recorre a si misma, bueno ya os comentaré si ha dado resultado tu respuesta ya que aún me estoy dando cabezazos con el programita, aunque desde luego así ya no me da error de compilación.
|
#4
|
|||
|
|||
Efectivamente después de mucho pelear con la lista y con los punteros en Delphi he conseguido que no me diese error y programarlo, gracias por tu gran respuesta seoane, por cierto un tanto diferente esta forma de hacer listas enlazadas en Delphi .
Un saludete a los foreros. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
REcord/key deleted | Luis Castillo | Varios | 1 | 02-11-2005 00:22:37 |
No current Record | TheRafa | Conexión con bases de datos | 0 | 23-08-2005 10:15:48 |
evento on new record? | istradlin | Conexión con bases de datos | 8 | 12-04-2005 23:15:00 |
Diferencia conceptual entre struct y typedef struct | Crandel | C++ Builder | 2 | 27-12-2004 01:06:35 |
|