Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

Указатели на структуры как аргументы функций (C++)   Найти похожие ветки 

 
Джо ©   (2007-10-05 20:19) [0]

Совсем забыл C++.<br/><br/>Есть ДЛЛ на Delphi.<br/>Экспортируется функция (вот обрезки):<br/><br/><code>type<br/> &#xA0;TFol<span style="background-color: yellow">der</span> = packed record<br/> &#xA0; &#xA0;Name: LPSTR;<br/> &#xA0; &#xA0;... &#xA0; <br/> &#xA0;end;<br/> &#xA0;PFol<span style="background-color: yellow">der</span> = ^TFol<span style="background-color: yellow">der</span>;<br/><br/>function GetFirstFol<span style="background-color: yellow">der</span>(Handle: dword; var Fol<span style="background-color: yellow">der</span>: PFol<span style="background-color: yellow">der</span>):dword; stdcall;<br/>begin<br/> &#xA0;GetMem (Fol<span style="background-color: yellow">der</span>, SizeOf(TFol<span style="background-color: yellow">der</span>));<br/> &#xA0;// Далее выделяется память для PFol<span style="background-color: yellow">der</span>^.Name (GetMem)<br/> &#xA0;// и туда копируется строка символов с завершающим нулем<br/>end;<br/></code><br/>(Никаких ShareMem).<br/><br/>Из программ на Делфи данная функция из DLL вызывается и работает корректно.<br/><br/>Надыть написать демо для С++.<br/><br/><code>typedef struct _FOL<span style="background-color: yellow">DER</span> {<br/> &#xA0;LPSTR &#xA0;Name;<br/> &#xA0;...<br/>} FOL<span style="background-color: yellow">DER</span>, *PFOL<span style="background-color: yellow">DER</span>;<br/><br/>typedef DWORD (WINAPI * GetFirstFol<span style="background-color: yellow">der</span>Proc) (DWORD Handle, PFOL<span style="background-color: yellow">DER</span> fol<span style="background-color: yellow">der</span>);<br/></code><br/><br/>Функцию загружаю динамически, все отлично.<br/>Теперь пытаюсь нечто такое:<br/><br/><code> &#xA0;<br/> &#xA0;FOL<span style="background-color: yellow">DER</span> fol<span style="background-color: yellow">der</span>;<br/> &#xA0;res = GetFirstFol<span style="background-color: yellow">der</span>(MCoreHandle, &amp;fol<span style="background-color: yellow">der</span>);<br/> &#xA0;if (res == OMS_OK)<br/> &#xA0;{<br/> &#xA0; &#xA0;cout &lt;&lt; fol<span style="background-color: yellow">der</span>.Name &lt;&lt; endl;<br/> &#xA0;}<br/></code><br/><br/>В полях fol<span style="background-color: yellow">der</span> мусор.<br/><br/>Ткните носом.


 
Джо ©   (2007-10-05 20:23) [1]

Совсем я ошален.<br/>Там же указатель на указатель.<br/><br/>Спасибо, ветку можно закрывать :)


 
Sergey Masloff   (2007-10-05 20:32) [2]

Джо © &#xA0; (05.10.07 20:23) [1] <br/>Вот только хотел... <br/>Хорошо завел привычку сперва до конца прочитать. <br/>;-)))


 
Джо ©   (2007-10-05 20:42) [3]

<i>&gt; [2] Sergey Masloff &#xA0; (05.10.07 20:32)<br/>&gt; Джо © &#xA0; (05.10.07 20:23) [1] <br/>&gt; Вот только хотел... <br/>&gt; Хорошо завел привычку сперва до конца прочитать. <br/>&gt; ;-)))<br/></i><br/><br/>:)<br/>Спасибо, совсем уже мозги перекрутились, ведь два часа (!) не мог понять, в чем дело, пока в форум не рискнул написать.


 
J_f_S   (2007-10-06 03:12) [4]

<i><br/>&gt; Спасибо, совсем уже мозги перекрутились, ведь два часа (!<br/>&gt; ) не мог понять, в чем дело, пока в форум не рискнул написать.<br/>&gt; <br/></i><br/>Попробовать рассказать другому об ошибке - хороший способ понять её причину самому.


 
имя   (2007-10-07 22:11) [5]

<font color="red">Удалено модератором</font>


 
имя   (2007-10-07 22:25) [6]

<font color="red">Удалено модератором</font>



Страницы: 1 вся ветка

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.77 MB
Время: 0.024 c
2-1192236766
Andrey_rus
2007-10-13 04:52
2007.11.04
MoveRect?


8-1168860446
SoulFlow
2007-01-15 14:27
2007.11.04
bass


15-1190696752
арпывапр
2007-09-25 09:05
2007.11.04
блокировка alt+ctrl+del или что делать с USB


2-1192321828
dreamse
2007-10-14 04:30
2007.11.04
Подскажите как получить название каталога из пути ?


3-1182845730
Yasmin
2007-06-26 12:15
2007.11.04
Не обновляются данные