Всем привет. Народ, кто знает, объясните, пожалуйста!!! Срочно и важно! В общем, база данных на Делфях, таблицы... Из-за чего возникает ошибка? Пишет: "Index is out of date". После чего все таблицы не открываются. Таблица, для которой это пишется - неиндексирована. Но, кажется, можно производить поиск и обращение по таким таблицам? С помощью Locate. И еще: если два приложения работают с одной таблицей и один из них вызывает метод lockTable, то для другого в какой форме будет получен отказ доступа? Будет ли это просто возвращаемое значение, либо MessageBox с еггогом?
Здравствуй, baldr! Вообще насколько я знаю некоторые таблицы не поддерживают отсутствия индексирования. Может из за этого ошибка возникает? По поводу Locka напрмер в MySQL если приложение попытается записать что-нибудь в закрытую базу данных, то контроллер просто отложит хапрост до тех пор пока базад данных не будет открыта закрывшим ее приложением, ну а ты попробуй у себя сымитировать такую ситуацию!)))
Ответ отправлен: 07.08.2002, 19:37 Отправитель: Pablo
Вопрос № 112
Снова всем привет! Меня тут пронзила-таки страшная мысль... У меня в проге (БД) такой принцип: на одном компе - прога и три таблицы, с которыми она работает. На другом - такая же прога, но она по сети работает с теми же самыми файлами. Никаких запросов и прочего SQL. Просто каждая из них (кажется через BDE?) открывает эти таблицы, ничего не подозревая о другой. И вносит свои изменения или читает данные. Как они поведут себя в случае одновременного, скажем, добавления записей? Если будет ошибка, то как это исправить? Поможет ли временное запирание таблицы одной из них на время записи или это надо переписывать весь код для SQL? Может, в BDE этот принцип об одновременном доступе как-то предусмотрен? Кстати, каждая прога обновляет свои "знания" о таблице каждые 5 секунд... (Просто делает .Active:=false; .Active:=True).
А какой эффект будет при, например, сортировке или фильтровании таблицы одной программой? Что получит другая? Мне кажется, что ничего для нее не изменится? Желательно получить ответ пораньше. Спасибо всем...
Доброе время суток, baldr! У меня в таком случае, когда несколко приложений подлючались в одной базе данных (MS Access), то происходоло следующее, если одно приложение чтото записывали в базу, а затем другие приложения туда чтото записывало, то то что было записано в одном приложении не было видно в других, так и с другими приложениями. Ответ отправлен: 07.08.2002, 19:36 Отправитель: Pablo
Вопрос № 113
У меня тут идейка возникла, на почве прочтения кой-какой литературы по tcp/ip, задача такая: требуется сформировать пакет, и отправить его, соответственно на чистом WinSock, как это в Дельфях реализовывается? Если вас не затруднит, соответственно примерчик, плз.
Доброе время суток, Atma! В 5-х Дельфях есть такой компонент TPowersocks называется, ну вот могешь его использовать, а если тебе все таки нужен чистый API. Ниже приведены некоторые функции АПИ, опсание которых смотри в MSDN: WSAStartup - инициализация WinSocks сервиса; WASCleanup - освобождение ресурсов программы связанных с сервисом; socket - создание сокета; closesocket - удаление сокета; bind - привязка адреса к сокету; SetConnection - создание канала связи; send - передача данных; recv - прием данных; listen - переключение сокета в режим приема; accept - ожидание соединения.
Ответ отправлен: 07.08.2002, 19:36 Отправитель: Pablo
Вопрос № 114
Здравствуйте, Артём! Как Вы и говорили, скачал я с torry.net ThtmiViever&TFrameViever. Но как их зарегестрировать в Делфи - не знаю, Делфи их не видит.И при запуске той проги которую Вы написали выдаётся сообщение: "Class THTMLViever not found. Ignore the error and continue?". Что делать дальше - не знаю, ещё раз прошу о помощи. Спасибо.
Я же указал, что они тебе не нужны, поскольку предназначены только для отображения загруженной страницы
Но если тебе очень нужно, то устанавливаются они просто: 1. Распаковываешь загруженный архив куда-нибудь в "C:\Program Files\Borland\Delphi5\HTML Demo\Delphi5\". 2. Открываешь проект "C:\Program Files\Borland\Delphi5\HTML Demo\Delphi5\FrameViewerDemo5.dpk" 3. Нажимешь "Compile", затем - "Install". Где-то в конце палитры компонент должна появиться новая вкладка. 4. В свойствах проекта, который будет пользоваться THTMLLite или ему подобным, установи пути к этим компонентам (мне кажется, что пути будут совпадать с теми, что описаны в п.1 ;)
PS. В предыдущем ответе я забыл сказать, что попытка взлома компьютера уголовно наказуема, я вычислить взломщика (тем
более, пользующегося такими простыми методами) для админа средней квалификации - дело пары часов. Ответ отправлен: 06.08.2002, 11:40 Отправитель: Артём Шегеда
Вопрос № 115
Здравствуйте уважаемые эксперты такой вопрос: раскажите как оформить такой алгоритм по работе з базами даных в формате dbf: я хочу, чтобы базы хранились в каталогах вида годмесяцдень как заставить дельфи обрабативать такую базу (тоисть например я произвожу поиск с такого-то по такое-то число, как пройтись по всем каталогам/файлам)
Здравствуй, portos! Чтото не совсем понятно какие каталоги в базе данных, ты имеешь ввиду поля или что?? Ответ отправлен: 07.08.2002, 19:35 Отправитель: Pablo Отвечает Sanya
Приветствую Вас, portos! Ну тут работа сбазой данных не причём, в твоём случае это больше работа с файлами! Используй например функции ForceDirectories, DirectoryExists, FileSearch, FindFirst, FindNext ..... Да вообще ты ж знаешь дату => знаешь директорию, например: При создании папки CreateDir('c:YourBase'+YourDate) При поиске DirectoryExists('c:YourBase'+YourDate) если да, то FindFirst ... Удачи! Ответ отправлен: 07.08.2002, 03:01 Отправитель: Sanya
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.