Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

объединение ресурсов двух программ   Найти похожие ветки 

 
KIE   (2003-11-14 23:42) [0]

Есть две аналогичные программы. Они стоят на разных компах, которые в свою очередь завязаны в сеть. Задача такая:
Нужно создать прогу, которая бы по требованию копировала ресурс (ДБ файлы) из одной проги (с одного компа) в другую, замещая при этом старые файлы.
Как это делается я знаю. Написал прогу, но при проверке обнаружил следующее:
- фалы не заменялись. Моя догадка: "Ресурс занят другой программой", т.е. нельзя поменять ДБ файл если его кто-то юзает.
Использовал ф-ию FileCopy.
Как мне сделать так, что бы можно было замещать файлы во время работы этих программ??????

Пытался обойти:
- создал прогу, в которой использовал стандартные компоненты BDE (Table, DataSet, ...)ю Подключался к одному файлу, к другому, но при изменении одного из них (как мне надо), т.е. при изменении их содержимого, ельфи безбожно орала, мол "У ВАС НЕТ ДОСТУПА! НЕ МОГУ СОЗАТЬ _nnnn.db файл". Я открыл доступ к той папке, где находилась програ и все равно ничего не получается.
Господа! Пожалуйсто подскажите, как всё-таки можно организовать этот процесс.


 
Юрий Федоров   (2003-11-14 23:55) [1]

Исходный код "двух аналогичных программ" доступен ?


 
KIE   (2003-11-17 00:22) [2]

нет. Эти проги писал не я и аисаны очень давно были, по спец заказу :(


 
Zergling   (2003-11-17 06:01) [3]

> т.е. нельзя поменять ДБ файл если его кто-то юзает.

Небоитесь ли ввести хаос в ДБ файл при таком потходе или вобще потерять данный файл при возникновении фатальной ошибки?


 
sniknik   (2003-11-17 08:24) [4]

если файл открыт другой программой в монопольном режиме и кода этой другой нет то практически невозможно.
(в NT системах можно принудительно закрыть занятый файл (возможно и программным путем), но это скорее всего приведет к краху "подопытной")

ди и даст ли это чего? к примеру замещаем файл с параметрами(ini) и ждем что поведение программы изменится? вряд ли, скорее всего параметры в ней читаются и устанавливаются при старте.

заменяя файл ДБ нужно и о индексах, если они есть, позаботится.


 
Anatoly Podgoretsky   (2003-11-17 09:13) [5]

Юрий Федоров © (14.11.03 23:55) [1]
Совсем ни к чему код этих программ, а вот как копировал не помешало бы привести, есть подозрение, что ни так.
Ну а для баз вообще не нужны такие извращения, когда в БДЕ есть специальные функции по копированию таблиц.
Но судя по скупо приведеным сообщением у него нет прав вообще!


 
KIE   (2003-11-17 09:30) [6]

CopyFile (PChar("c:\temp\110903.db"),PChar("c:\GS\021003.db"), False), ключ False использую для того, что бы заменить существующий файл, иначе он просто не перепишет его.
А вообще как этот процесс можно организовать по другому? Знатоки, идею подкиньте хоть :(


 
Anatoly Podgoretsky   (2003-11-17 09:34) [7]

А этого тебе не достаточно? Anatoly Podgoretsky © (17.11.03 09:13) [5]


 
Erik   (2003-11-17 11:32) [8]

Идея есть и проста, пишеш маленький TCP или UDP сервер. Устанавливаеш его на машину где надо заменять фаил. Пишеш клиента который посылает пакет серверу. Сервер закрывает работающею программу и делает необходимое оповешение. После либо копируеш фаил либо передаеш серверу и он сам его перезаписывает. Советую воспользоватся компонентами Indy. UDP сервер сможет создать даже ребонок.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.014 c
14-90082
Проходящи_й_
2003-11-05 10:40
2003.11.27
100$ за то, кто узнает sn delphi, версию, систему, sn из exe.


3-89697
Layner
2003-11-10 15:44
2003.11.27
Подскажите, как сделать запрос на сохранение, если запись была


3-89773
stud
2003-11-06 17:47
2003.11.27
отчеты........


1-89874
Alexx
2003-11-18 15:00
2003.11.27
DateTimePicker???


8-90015
murat
2003-07-10 16:58
2003.11.27
Можно ли вносить свои измения в форматы файлов (типа JPEG, TIFF)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский