Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.029 c
6-1084387812
Cobalt
2004-05-12 22:50
2004.07.11
Indy TIdFTP - проблема с получением списка папок


14-1087822559
Ёпрст
2004-06-21 16:55
2004.07.11
Вопрос теоретический.


3-1086010292
Митяй
2004-05-31 17:31
2004.07.11
Сжать и восстановить Базу Access.


1-1088372750
P@vel
2004-06-28 01:45
2004.07.11
Threads


1-1088594179
half_litre
2004-06-30 15:16
2004.07.11
Не срабатывает OnClose. Правильно ли это ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский