maison
Top.Mail.Ru Yandeks.Metrika
Forum: "Main";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

vers le bas

D'un delta à delphi ... Trouver des branches similaires


Alek ©   (2004-11-29 18:48) [0]

Il est utile de transférer le code du lien vers Delphi!

Code sur le lien:

struct _HEADER {
nAB court non signé;
unsigned int nSize;
nMessage court non signé;
nBA court non signé;
};
int GetResultEx (int nID, _HEADER **, pstHeader, caractère non signé nAttendre);

Le code que j'ai écrit sur Delphi:

_HEADER = record nAB: mot; nTaille: Longword; nMessage: mot; nBA: mot; fin _H = ^ _ HEADER; fonction GetResultEx (nID: entier; pstHeader: _H; nAttendre: octet): entier; stdcall; external "eV.dll";

et quand je passe à cette fonction de mon programme, l'erreur "Violation d'as à l'adresse ABABABABAB" apparaît



palva ©   (2004-11-29 19:01) [1]

_H = ^^ _ HEADER; Je ne sais pas si cela est possible sur Delphi. Par conséquent, lors de l'appel, il est nécessaire de transférer l'adresse du début (premier élément) du tableau de pointeurs vers les enregistrements.



Alek ©   (2004-11-29 19:15) [2]

avec ceci _H = ^^ _ HEADER; Delphi jure (.

J'appelle la fonction comme ceci:

var
h: _H;
i: entier;
commencer
i: = GetResultEx (nID, h, 0);
fin;



Anton_K ©   (2004-11-29 19:22) [3]

Je connais mal C, mais je me permets de suggérer que nous en avons besoin:
fonction GetResultEx (nID: entier; var pstHeader: _H; nWait: octet): entier; stdcall; external "eV.dll";



Yuri K   (2004-11-29 19:23) [4]

"_H = ^^ _ HEADER;"

_H = ^ _ HEADER;
_PH = ^ _H;



Yuri K   (2004-11-29 19:24) [5]

"var pstHeader: _H"

Bon pour.



Chlavik ©   (2004-11-29 20:07) [6]

Il fallait juste qu'il y ait un pointeur sur la mémoire allouée !!!
var pstHeader: _H
commencer
GetResultEx (0, @ pstHeader ....
Et vous avez probablement var pstHeader: ^ _H et directement dans le paramètre que vous avez indiqué, vous avez besoin de New (pstHeader) et après avoir appelé GetResultEx Dispose //



palva ©   (2004-11-29 21:40) [7]

En fin de compte, ce paramètre peut simplement être décrit comme un pointeur (sans aucune variable). L'essentiel est que, lorsque vous accédez à ce pointeur, sa valeur soit correcte, c'est-à-dire qu'il pointe vers un tableau de pointeurs, chacun d'eux pointant sur _HEADER.



Alek ©   (2004-11-30 14:26) [8]

Alors une telle question!

Sur l'évêque, il est écrit comme ceci:

OnQuote ((_ QUOTE_MSG *) pstHeader);

Comment écrire sur delph? On a dit à Mene tuta que, sur le lien, il s'agissait d'un cast au type "pointeur sur _QUOTE_MSG"



Pages: 1 branche entière

Forum: "Main";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

à l'étage





Mémoire: 0.57 MB
Heure: 0.055 c
6-1096626563
Dmitry Botvin
2004-10-01 14:29
2004.12.12
La quantité de RAM sur un ordinateur distant


3-1100171384
Fyc
2004-11-11 14:09
2004.12.12
Problème avec Table.FindNearest et Russian tex


3-1100531559
Dionnis
2004-11-15 18:12
2004.12.12
Utilisation d'index


1-1101161742
Bobby numérique
2004-11-23 01:15
2004.12.12
Zone de liste


14-1101124657
menart
2004-11-22 14:57
2004.12.12
Qui a delphi7





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais Anglais estonien Filipino Finlandais Française
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italienne Japonais Coréen letton lituanien macédonien Malay maltais Norvégienne
persan Polonais Portugais Roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol