Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FileMapping [D6, XP]


psa247 ©   (2006-01-08 12:08:00) 

При обращении к GlobalData^.UName иногда выдает Access Violation

*.dpr
 
MMFHandle:= CreateFileMapping(INVALID_HANDLE_VALUE,nil,PAGE_READWRITE,0,SizeOf(TGlobalData),MMFName);
  GlobalData:= MapViewOfFile(MMFHandle,FILE_MAP_ALL_ACCESS,0,0,SizeOf(TGlobalData));
  if commLine<>'reload' then
    if(GetLastError = ERROR_ALREADY_EXISTS)and(Ini.ReadBool('SettingsEx','5',False))then begin
      F.Bring_To_Top(GlobalData^.OurWnd);
      CloseHandle(MMFHandle);
      Ini.Free;
      Application.Terminate;
      end;

  BufSize:= 256;

  ......  

  GlobalData^.OurWnd:= 0;
  try
    Admin:= buffer;
    GlobalData^.UName:= Admin;
except
   end;
  RegCloseKey(Reg);


Сам GlobalData описан в главном Unit-е как:

type
 PGlobalData = ^TGlobalData;
 TGlobalData = packed record
    OurWnd : HWND;                
     UName : string;
   end;


В чем причина ?


psa247   (2006-01-08 16:32:00) [1]


> Fay ©   (08.01.06 13:30) [3]

то что string?


Fay   (2006-01-08 13:30:00) [2]

> UName : string;
Меня эта строка смущает. Весьма.


psa247   (2006-01-08 13:00:00) [3]


> Anatoly Podgoretsky ©   (08.01.06 12:50) [1]

Я просто перепугался, что неправильно работаю с MMF.
Спасибо.


Anatoly Podgoretsky   (2006-01-08 12:50:00) [4]

В отсутствии обработки ошибок.


Наверх

Титульная страница Поиск, карта сайта Написать письмо