Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизГлючная структура Найти похожие ветки
← →
XeLax (2004-06-30 13:26) [0]Есть структура которой надо обмениваться с другим приложением. Вот ее код:
TDayPrice = record
count : integer;
items : array [0..19] of record
iTime : TTime;
Week : array [1..7] of real;
end;
end;
TTariffs = record
Count : integer;
NightBeg : TTime;
NightEnd : TTime;
HalfNight : integer;
Items : array [0..19] of record
Name : string[50];
Mode : (day, night);
Min : integer;
Access : (noint, gamesprogs, gamesint, uasites, abs);
price : TDayprice;
NightParams : record
price : array [1..7] of real;
halfprice : array [1..7] of real;
Hourprice : array [1..7] of real;
end;
end;
end;
PShareInf = ^TShareInf;
TShareInf = Record
ttWn:HWND;
tyWn:HWND;
vbWn : HWND;
r11:HWND;
r21:HWND;
r32:HWND;
tar : TTariffs; // если убрать эту строчку то все ОК
code: Integer;
wparam: WPARAM;
lparam: LPARAM;
ext : LongInt;
ext1 : LongInt;
End;
Именно структурой ShareInf я и пытаюсь обмениваться с другим приложением. Пробовал просто записвіать ее в тип. файл, пробовал и через файл-маппинг, - єто приводит к краху. Причем, если убрать строчку tar: Ttariffs - тогда все ок. Что в структуре ttariffs такого глючного ?
← →
Тимохов © (2004-06-30 13:31) [1]крах - этой новый тип исключения?
← →
XeLax (2004-06-30 13:45) [2]
> Тимохов
?
← →
Тимохов © (2004-06-30 13:48) [3]что "?".
Сложно понять?
Вопросы учить задавать?
Ну читайте http://ln.com.ua/~openxs/articles/sq_118.html
1. Какое сообщение об ошибке.
2. Что сделали (код)
← →
TUser © (2004-06-30 13:50) [4]Такую структуру передать можно. Вопрос в том, как вы это делаете.
← →
Тимохов © (2004-06-30 13:51) [5]
> Такую структуру передать можно. Вопрос в том, как вы это
> делаете.
во-во
← →
juiceman (2004-06-30 13:54) [6]
> TUser
MapHandle:=CreateFileMapping(INVALID_HANDLE_VALUE, nil, PAGE_READWRITE, 0, SizeOf(TShareInf), "MyShareMap");
if MapHandle=0 then
begin
ShowMessage("FileMapping íå ñîçäàí!");
Exit;
end;
ShareInf:=MapViewOfFile(MapHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TShareInf));
if ShareInf=nil then
begin
ShowMessage("ShareInf íå ñâÿçàí ñ FileMapping!");
Exit;
end;
Вот тут функция MapViewOfFile возвращает nil.
← →
juiceman (2004-06-30 13:56) [7]Сорри за двуличность, вопрос мой
← →
Тимохов © (2004-06-30 13:56) [8]Не хотите воспользоваться сообщением wm_copydata?
те же filemap, только скрытые от вас...
← →
Тимохов © (2004-06-30 14:01) [9]если хотите, могу пример дать с wm_copydata...
← →
juiceman (2004-06-30 14:03) [10]Я конечно попробую, но думаю это не поможет. Понимаете, все работало ок как на обеих сторонах до момента добавления подструктуры tariffs. Через обычный файл даже не получается. ОК, сейчас попробую ...
← →
False_Delirium © (2004-06-30 14:04) [11]
TWeekPeriodArray = array [1..7] of real ;
TCell = record
iTime : TTime;
Week : TWeekPeriodArray ;
end ;
PNightParams = ^TNightParams ;
TNightParams = record
price : TWeekPeriodArray ;
halfprice : TWeekPeriodArray ;
Hourprice : TWeekPeriodArray ;
end;
PDayPrice = ^TDayPrice ;
TDayPrice = record
count : integer;
items : array [0..19] of Tcell
end;
PTariffItem = ^TTariffItem ;
TTariffItem = record
Name : string[50];
Mode : (day, night);
Min : integer;
Access : (noint, gamesprogs, gamesint, uasites, abs);
price : PDayPrice;
NightParams : PNightParams ;
end;
PTariffs = ^TTariffs ;
TTariffs = record
Count : integer;
NightBeg : TTime;
NightEnd : TTime;
HalfNight : integer;
Items : array [0..19] of TTariffItem ; (PTariffItem ?)
end;
PShareInf = ^TShareInf;
TShareInf = Record
ttWn:HWND;
tyWn:HWND;
vbWn : HWND;
r11:HWND;
r21:HWND;
r32:HWND;
tar : PTariffs; // если убрать эту строчку то все ОК
code: Integer;
wparam: WPARAM;
lparam: LPARAM;
ext : LongInt;
ext1 : LongInt;
End;
это я так, мимо проходил...
← →
juiceman (2004-06-30 15:32) [12]2False_Delirium
спасибо, это помогло!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.034 c