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

Вниз

C++ to Delphi   Найти похожие ветки 

 
Comp ©   (2004-10-13 22:52) [0]

Люди, помогите пожалуйста перевести строчку

pMyItem = (MYITEM *) LocalAlloc(LMEM_FIXED,sizeof(MYITEM) + CCH_MAXITEMTEXT);

где

type
tagMYITEM=packed record
   hfont:HFONT ;
   cchItemText:Cardinal;
   szItemText:array[0..1] of CHAR;
   end;

var
MYITEM:tagMYITEM;


Зараннее благодарен!


 
Comp ©   (2004-10-13 23:03) [1]

Извините за беспокойство, вроде прошарил.

pMyItem := PointMYITEM(LocalAlloc(LMEM_FIXED,sizeof(tagMYITEM)+CCH_MAXITEMTEXT));

где

tagMYITEM=packed record
   hfont:HFONT ;
   cchItemText:Cardinal;
   szItemText:array[0..1] of CHAR;
   end;
PointMYITEM = ^tagMYITEM;

var

pMyItem:PointMYITEM;


 
TUser ©   (2004-10-14 12:14) [2]

Можно еще New использовать


 
Суслик ©   (2004-10-14 12:19) [3]


> Можно еще New использовать

а может и нельзя
LocalAlloc в куче выделяет место. Может автор пользуется чем-то, что требует выделение именно к виндвовой куче. Дельфовый манагер памяти может не подойти.


 
TUser ©   (2004-10-14 12:34) [4]

Автор не пишет, чем он пользуется и зачем это надо. Хотя учитывая, что там packed record - возможно действительно требуется какое-то взаимодействие/совместимость с сишными программаями, - тогда LocalAlloc



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
4-1097747711
AlexG
2004-10-14 13:55
2004.11.28
Создание отдельного потока


4-1097664277
Wish
2004-10-13 14:44
2004.11.28
Реестр


14-1100248404
Ega23
2004-11-12 11:33
2004.11.28
Посоветуйте Linux


3-1099433093
Sergy Ivanec
2004-11-03 01:04
2004.11.28
Вопрос по interbase


3-1099032577
Miss
2004-10-29 10:49
2004.11.28
TUpdateSQL