Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4

Модерирует : ShIvADeSt

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RageSV
Понял, спасибо.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 23:37 19-12-2008
igorfil007

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста как решить проблему установки Delphi7 в Vista64SP1 Ultimate.
В процессе установки синий экран смерти, ссылка на файл VBENgNT.sys.
Все обновления установлены.

Всего записей: 1 | Зарегистр. 01-12-2008 | Отправлено: 10:05 20-12-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igorfil007
Ну можно Delphi7SE поставить попробовать. Там другой инсталлятор, может и прокатит. А вообще для висты либо Delphi2007 либо Delphi2009 (первая кстати есть в Lite варианте на 91Mb).

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 10:33 20-12-2008 | Исправлено: Frodo_Torbins, 10:47 20-12-2008
metraton



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Следующая проблема. При запуске только-что установленной Delphi 2009, происходит ошибка Access Violation. Что-то там обратилось по адресу 000000 и этого не может быть. Как решить проблему? Система свежая, только что переустановил.

Всего записей: 152 | Зарегистр. 04-10-2004 | Отправлено: 12:59 20-12-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
metraton

Цитата:
Система свежая, только что переустановил.

Вот отсюда подробней, пожалуйста. И про саму Delphi тоже побольше подробностей.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 18:02 20-12-2008
metraton



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Система свежей установки. WinXP SP3, установлен .NET Framework 3.5 SP1, Delphi 2009 с лицензией Architect. Рассмотрел ошибку: что-то связано с регистрацией какой-то библиотеки ядра, т.е. файла bpl. И ещё пишет, что regasm.exe, который лежит в папке системы в подпапке с фреймворком, не может что-то там зарегистрировать.
 
PS Поставил Delphi 2007, походил вокруг компа, послушал музыку, посмотрел футбол on-line, начал писать эти строки, запустил Delphi 2009 - и, о чудо! Она запустилась! В чём дело, я вообще не понимаю. Мистика какая-то. Может что-то установилось с 2007'й делфой, но я раньше проделывал такой фокус, ничего из этого не получалось. Хотелось всё-таки знать на будущее, в чём заключалась проблема.

Всего записей: 152 | Зарегистр. 04-10-2004 | Отправлено: 20:04 20-12-2008
Asm64D



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
metraton
Ох, там с 2007 ставятся какие-то дрова доступа (в виде bpl) к dbExpress которые в случае с 2009 либо не идут по умолчанию, либо более вероятно не устанавливаются в c:\system

Всего записей: 1312 | Зарегистр. 24-02-2008 | Отправлено: 03:09 21-12-2008
metraton



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Asm64D
Вчера программируя обнаружил новую ошибку (в чудом запустившемся 2009) - не могу скомпилить ни одно приложение. Пишет, что класс с таким-то ID (набор непонятных цифр и букв) не зарегистрирован. Пришлось всё переписывать с нуля в 2007.

Всего записей: 152 | Зарегистр. 04-10-2004 | Отправлено: 10:56 21-12-2008
lamber



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с такой проблемой уже заколебался искать.
 
Суть в следующеем имеется некий файл текстовый и понему строится дерево через TreeView.Loadfromfile();
С помощью этого дерева формируется структура катологов и файлов. и вот я построил эту структуру и хочу ей воспользоватся в каждой папке есть текстовый файл из которого нужно забрать информацию файл текстовый, но припопытке чтения выдает что фал не найден. Вот привожу код.
 
Вот привожу код для первого формирует файловую структуру  

Код:
 
procedure TForm2.Button1Click(Sender: TObject);
  var
 i:integer;
begin
 SetCurrentDir(MyDir);
TreeView1.LoadFromFile('math.txt');
 if not(directoryexists('database')) then
 begin
 CreateDir('database');
 Setcurrentdir('database');
 end;
   for i:= 0 to (TreeView1.Items.Count - 1) do
begin
 SetCurrentDir('database');
if not(directoryexists(TreeView1.Items[i].Text)) then
begin
CreateDir(TreeView1.Items[i].Text);
Setcurrentdir(TreeView1.Items[i].Text);
FileCreate(TreeView1.items[i].text + '.txt');
end;
 SetCurrentDir('..');
end;
end;
 

 
А вот для поиска в ней то собственно и проблемы  

Код:
 
procedure TForm2.Button2Click(Sender: TObject);
var
st:string;
i:integer;
//t:textfile;
str:string;
cur:string;
begin
SetCurrentDir(MyDir);
   st:=Edit1.Text;
 
for i:= 0 to (TreeView1.Items.Count - 1) do
begin
 SetCurrentDir('database');
SetCurrentDir(TreeView1.Items[i].Text);
Cur:=TreeView1.Items[i].text;
Cur:=Cur+'.txt';
AssignFile(t,Cur);
Reset(t);
while not eof(t) do
 
while not eoln(t) do
begin
 st:='';
 Readln(t,str);
 if pos(st,str) <> 0 then
  begin
  memo1.Lines.Add(TreeView1.Items[i].Text);
  TreeNode:=TreeView1.Items[i];
   while TreeNode.Parent <> nil do
   begin
      memo2.Lines.Add(TreeNode.Parent.Text);
      TreeNode:=TreeNode.Parent;
   end;
end;
 
end;
 
  CloseFile(t);
SetCurrentDir('..');
end;
 end;
 

 

Всего записей: 20 | Зарегистр. 18-05-2008 | Отправлено: 14:29 21-12-2008
George_Lucky



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос касаемый установок компонент на Д2009
После перегрузки ИДЕ начинает ругаться, что некоторые библиотеки не найдены
хотя они лежат именно в тех местах, на которые Д2009 ругается.
Затем в списке компонент, эти библиотеки не отмечены чеком.
Ручками их можно включить, но при следующей перезагрузке - опять.
Где искать причину этих сбоев? И как устранить ее?

Всего записей: 413 | Зарегистр. 12-09-2002 | Отправлено: 07:31 22-12-2008
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988
Мне очень понравилась Ваша идея мальеньких программ, только я в последней теме немного не понимаю. Дело в том что раньше для загрузки разных катинок с разными форматами типа PCX,PIC,RPT существовала специальная библиотека, которая умела с ними работать. Я вот тоже не понимаю почему бы Микрософту просто не купить все известные фирмы и делать всё в одиночку. Сори за флейм. Ближе к сути. Я так же смущён вопросами по поводу PNG, так как подозреваю что Интернет Экспорер показывает такие катинки без труда и значит ничего не мешает просто положить TWebBrowser на формочку. Кода ноль, а кодаки самые поддержаные получатся. Вот.
 
Добавлено:
Он веть и веть GIF показывает.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 08:35 22-12-2008
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Я так же смущён вопросами по поводу PNG, так как подозреваю что Интернет Экспорер показывает такие катинки без труда и значит ничего не мешает просто положить TWebBrowser на формочку. Кода ноль, а кодаки самые поддержаные получатся

Попробуй на чистом АПИ положить TWebBrowser на формочку я посмотрю как там кода ноль будет. У него нет TForms, одни CreateWindow или DialogBox. Туда очень плохо компоненты ложатся На самом деле PNG поддерживается виндой, трабла в другом (читай внимательно в след раз) - если грузить пнгу из файла, то все ок, а если пнга в ресурсе - то не грузится напрямую. И это действительно странно, что так криво реализовано.  
ЗЫ, гифчики не кошерны

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 08:58 22-12-2008
fcdobpiy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamber
попробуй прописать полный путь
TreeView1.LoadFromFile(MyDir+'\math.txt');
как то так
да и из листинга не понятно чему равно MyDir
 

Всего записей: 410 | Зарегистр. 22-08-2005 | Отправлено: 09:05 22-12-2008
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamber
Не надо таких длинных постов. По моему Вам следует присмотреться к функции ForceDirectory(ExtractFileDir(FullFileName));

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:02 22-12-2008
lamber



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fcdobpiy
 
М-да как раз думал привести листинг этого или нет, MyDir равна CurrentDir() при рисовании окна вот код собсно
 

Код:
 
procedure TForm2.FormCreate(Sender: TObject);
begin
 MyDir:=GetCurrentDir();
end;
 

 
 
Добавлено:
delover
Если тебе не сложно не мог бы ты привести что на что заменить

Всего записей: 20 | Зарегистр. 18-05-2008 | Отправлено: 10:06 22-12-2008
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamber
Просто так не долко и запутаться

Код:
 
CreateDir(TreeView1.Items[i].Text);  
...
FileCreate(TreeView1.items[i].text + '.txt');

Вы бы хоть функцию написали This_TVItem_IsFullFileName. (HasChildNodes = False)
 
ShIvADeSt
А я так и подумал что из реса надо в поток переливать.
 
Добавлено:
lamber
ForceDirectory создаёт собственно всю структуру подкаталогов, вместо CreateDir.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:16 22-12-2008 | Исправлено: delover, 10:20 22-12-2008
lamber



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
 
Я только разбираюсь с языком спасибо за совет, но основная проблема все таки в том что программа отказывается читать файлы.  
 
Вот уже и абсолютные пути заменил и все равно никак
 
for i:= 0 to (TreeView1.Items.Count - 1) do
begin
 //SetCurrentDir('database');
SetCurrentDir(MyDir+'database'+TreeView1.Items[i].Text);
Cur:=TreeView1.Items[i].text;
Cur:=Cur+'.txt';
AssignFile(t,Cur);
Reset(t);
while not eof(t) do
 
while not eoln(t) do
begin
 st:='';
 Readln(t,str);
 if pos(st,str) <> 0 then
  begin
  memo1.Lines.Add(TreeView1.Items[i].Text);
  TreeNode:=TreeView1.Items[i];
   while TreeNode.Parent <> nil do
   begin
      memo2.Lines.Add(TreeNode.Parent.Text);
      TreeNode:=TreeNode.Parent;
   end;
end;
 
end;
 
Может дело в Винде из-за то что программа в цикле столько файлов открывает ну типа там Делай поставить (конечно это бредовое предположение, но я уже не знаю что делать).

Всего записей: 20 | Зарегистр. 18-05-2008 | Отправлено: 10:28 22-12-2008
V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamber

Цитата:
Я только разбираюсь с языком спасибо за совет, но основная проблема все таки в том что программа отказывается читать файлы

 
Я тут пропустил суть вопроса, файлы не находятся или не открываются или не читаются. Все ли файлы вежут себя одинаково или  часть норма, а часть вызывает ошибку.
 
По поводу Delay -  не совсем бред в ряде случаев он как раз и нужен или его более интелектуальные замены.
 
если проект на большой могу сегодня (22.12) посмотреть (безвозмездно), завтра и делее буду занят, если интересно пиши в ПМ.

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 11:37 22-12-2008
RSoFT1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamber
Дело не в винде.
SetCurrentDir(MyDir+'database'+TreeView1.Items[i].Text);  - Не надо забывать про символ "\" при задании пути.
А строчки while not eoln(t) do и st:=''; здесь явно лишние.
Убери их, а если не заработает, то проверь при пошаговом выполнении какие строки не срабатывают.

Всего записей: 34 | Зарегистр. 19-05-2007 | Отправлено: 13:15 22-12-2008 | Исправлено: RSoFT1978, 14:52 22-12-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamber
так для проверки
после Cur:=Cur+'.txt';  
ShowMessage(ExpandFileName(Cur));
и соотвественно в конце кто будет делать CloseFile(t)

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 15:13 22-12-2008 | Исправлено: greenpc, 15:18 22-12-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru