Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > DLL и типизированные файлы


Автор: simsmann 25.6.2009, 21:20
Как можно работать с типизированными бинарными файлами из DLL. Т.е. создавать, делать записи в них, читать данные из них. Пробовал делать это стандартно как в обычном проекте:
Код

type
     BaseRec=record
           имя пер:     Тип;
           ..............................
           имя пер:     Тип;
     end;
BaseDB=file of BaseRec;
var
BaseFile:  BaseDB;
zapis:         BaseRec;

 Выдает ошибку при компиляции на строке
Код

BaseDB=file of BaseRec;

ошибка:
[Error] mylib.dpr(205): '=' expected but ':' found
[Error] mylib.dpr(205): Type 'Z_Rec' needs finalization - not allowed in file type

Автор: dvamaster 26.6.2009, 10:28
замечательно компилиться

Код

library Project1;

uses
  SysUtils,
  Classes;

{$R *.res}

type
  t = record
    a: Integer;
  end;

  tf = file of t;

var
  f: file of t;
  ft: tf;

begin
end.


Добавлено через 1 минуту и 40 секунд
Это не зависит DLL это или EXE
ты скопировал текст или написал?
если написал скопируй и вставь, посмотрим

Автор: Guedda 26.6.2009, 20:03
Цитата(simsmann @  25.6.2009,  22:20 Найти цитируемый пост)
[Error] mylib.dpr(205): '=' expected but ':' found

Ошибка в синтаксисе. Ты гдето вместо : поставил = (посмотри 205 строку ;))

Автор: simsmann 27.6.2009, 00:23
Ошибка при компиляции

Код

library Project1;

uses
  SysUtils,
  Classes;

{$R *.res}

type
  t = record
    a: Integer;
  end;

  tf = file of t;

var
  f: file of t;
  ft: tf;

begin
end.


[Hint] Project1.dpr(17): Variable 'f' is declared but never used in 'Project1'

[Hint] Project1.dpr(18): Variable 'ft' is declared but never used in 'Project1'

Автор: simsmann 27.6.2009, 00:58
Виноват получилось!
Это не ошибки компиляции. Просто поторопился.
Не понятно почему раньше не получалось код такойже?

Автор: Guedda 27.6.2009, 07:08
Цитата(simsmann @  27.6.2009,  01:58 Найти цитируемый пост)
Не понятно почему раньше не получалось код такойже? 

Это из разряда мистики. Не переживай. Такое происходит иногда.
А 
Цитата(simsmann @  27.6.2009,  01:23 Найти цитируемый пост)
[Hint] Project1.dpr(17): Variable 'f' is declared but never used in 'Project1'
[Hint] Project1.dpr(18): Variable 'ft' is declared but never used in 'Project1'

- это не ошибки, а подсказки, что ft и f были определены как переменные, но никогда не использовались ;) С подобными подсказками работа программиста становится муторнее ;)
Не забываем отмечать вопрос решенным ;)

Автор: dvamaster 29.6.2009, 08:09
хинты я использую для вычещения лишних переменных, чтоб код почистить

а так компилятор их выбрасывает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)