Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Hito on February 09, 2019, 08:40:43 PM

Title: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 09, 2019, 08:40:43 PM
Ребят, такая проблема у меня... Обрисую ситуацию. У меня есть скрипт на 2000 строк. В этом скрипте имеется около 100 обращений к одному и тому же ini-файлу. Скрипт конечно не все 100 обращений использует за 1 свой цикл - разные обращения в разных ситуациях, но думаю, что за 1 цикл раз 30 он все же к ini обращается. Этот цикл по времени равен 700-900 мс. Иными словами - скрипт обращается к ini раз 30 в секунду. Я запускаю 15 виртуальных машин и в каждой виртуалке запускается игра + кликер с этим скриптом. И того мы имеем уже около 450 обращений в секунду к этому ini. Все работает нормально. В ини есть несколько параметров, которые правятся в ручную, для управления кликерами. Я написал прогу для того, чтобы не копаться в этом ini-файле, для внесения изменений в эти параметры, но как только я запускаю эту прогу и начинаю пользоваться, в кликерах (которые в виртуалках) начинают периодически выскакивать ошибки интерпритации строк. Это как раз те строки, которые вносят свои данные в этот ini. Строки типа:
Code: (clickermann) [Select]
INIWRITE("variables.ini", "time", $_time_t, $imya)Сначала я думал, что такие ошибки вылазят тогда, когда к ini идет несколько обращений одновременно, но потом, почесав репу, я подумал - а почему тогда кликеры без этой проги не выдают эти ошибки...? Ведь 15 кликеров очень не мало обращений делают к этому ini и наверняка тоже не раз эти обращения получаются одновременными. Тогда я подумал, что возможно в кликре и в моей проге (написанной на delphi) все же может быть какие-то разные форматы обращения к ini-файлам, или еще что-то вроде этого, и эта мысль мне кажется более подходящей... Отсюда и вопрос к Johnny - а как в кликере (ведь он тоже написан на delphi) прописаны обращения к ini? Вот, напирмер у меня в проге так:

Code: [Select]
uses
  IniFiles...

var
  variables: TIniFile;

procedure TForm1.Button1Click(Sender: TObject);
begin
  variables := TIniFile.Create(ExtractFilePath(Application.ExeName)+'variables.ini');
  variables.WriteString('Agr1.1','relog','1');
  variables.Free;
end;

Или в чем может быть причина...?
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: ya12 on February 09, 2019, 10:25:44 PM
Если параметров в ini файле не слишком много, можно в место изменения файлов изменять названия каталогов.
А точно на Делфи написан? Вызов плагина в справке дан на Си.
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 09, 2019, 10:49:53 PM
Если параметров в ini файле не слишком много, можно в место изменения файлов изменять названия каталогов.
850 строк в ини
А точно на Делфи написан? Вызов плагина в справке дан на Си.

delphi

(http://imglink.ru/pictures/09-02-19/b10bb940b037f1817f9f8838e8e0c67d.jpg)
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: ya12 on February 10, 2019, 11:16:46 AM
Каталог с 850 файлами открывается с небольшой задержкой. А в ram диске вообще без задержек.
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 10, 2019, 11:41:03 AM
Каталог с 850 файлами открывается с небольшой задержкой. А в ram диске вообще без задержек.
У меня все без задержек происходит - дело не в этом. Прога с внесением данных в файл справляется за 1 мс. Файл на CCD находится. Я даже в три потока пробовал одновременно.
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: ya12 on February 10, 2019, 03:31:29 PM
SSD отлично, осталось решить вопрос с блокировкой или обойти через каталоги (получение названия каталогов при записи не блокируется).
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 10, 2019, 03:44:42 PM
SSD отлично, осталось решить вопрос с блокировкой или обойти через каталоги (получение названия каталогов при записи не блокируется).
Я не понимаю... Что за блокировка?
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Johnny on February 20, 2019, 08:07:14 AM
Класс TIniFiles отличается и доробатывается от версии к версии. Никто же не расчитывал что в 2019 году кто то решит сделать из файла конфигурации базу данных реального времени. У вас собственно что за "delphi" то.
Это вполне обьясняет почему кликеры прекрасно уживаются но агрятся на чужеземца. Это конечно не точная причина но вероятная.
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 21, 2019, 11:45:54 PM
Никто же не расчитывал что в 2019 году кто то решит сделать из файла конфигурации базу данных реального времени.
К сожалению, при работе с Clickermann (в виртуальных машинах), пока в этих целях доступно только ini... :)
У вас собственно что за "delphi" то.
Embarcadero RAD Studio 10.3 Rio Architect 26.0.32429.4364
Может посоветуете версию delphi, которая будет ближе к Clickermann-у...? :)
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Johnny on February 26, 2019, 06:59:24 PM
ой не, она ну очень старая. это явно не выход. тем более я думаю перенести код на более новую версию. правда там всегда что то вылезает в этих случаях.

может лучше предусмотреть механизм временного отключения кликеров на момент правки ini файла? тем более про версии класса была лишь версия основанная на очень скудных данных
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 26, 2019, 08:10:25 PM
может лучше предусмотреть механизм временного отключения кликеров на момент правки ini файла?
Это попа... Это все переменные на момент работы скрипта, нужно тогда вынести в файл, а потом снова "всосать" скриптом... Может тогда лучше обратить внимание на это сообщение...?
http://crapware.aidf.org/forum/index.php?topic=356.msg30551#msg30551 (http://crapware.aidf.org/forum/index.php?topic=356.msg30551#msg30551)
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Oraven on February 27, 2019, 07:08:45 AM
Для твоего случая хорошо бы подошли функции чтения записи в реестр. Осталось их только создать.  :D
Title: Re: Работа с ini-файлами (вопрос скорее непосредственно к Johnny)
Post by: Hito on February 27, 2019, 09:05:36 AM
Для твоего случая хорошо бы подошли функции чтения записи в реестр.
Сомневаюсь... У каждой виртуалки разве не свой реестр создается...?
ой не, она ну очень старая.
Охренеть... Мало того, что язык практически отмирающий, так еще и на древней delphi чел создал и поддерживает такой проект...