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...:p:p:p 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 :D:D:D:D Un saludete y gracias __________________________________________________________________________________________ http://www.muchotrasto.com |
En pascal, y por lo tanto en delphi, se resuelve ese problema de la siguiente manera:
Código:
type |
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.
|
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 :D:D:D:D:D:D.
Un saludete a los foreros. |
La franja horaria es GMT +2. Ahora son las 12:25:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi