Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 2
1

Изучаю Delphi. В чём ошибка?

12.06.2014, 09:18. Показов 447. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, знатоки. Delhi только изучаю. И спросить больше пока не у кого.
Весь инет перерыл. Много чего нашёл. Но везде одно и то же десять раз или не совсем понятное или не моё.
А вот что конкретно в моём случае не так - не понял.



При компиляции делфи выдаёт предупреждение [Warning] Unit1.pas(35): Variable 'Md' might not have been initialized в этом куске кода
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.FormDblClick(Sender: TObject);
var
  Md: ScanDir;
begin
  Memo1.Clear;
  If md.New('I:\MSDESIGN') then begin // <----------------------  Предупреждение на эту строку
    Memo1.Lines.Add('ПУТЬ '+md.DirPath);
    while true do begin
    end;
  end;
end;
ScanDir описано в отдельном файле пока только вот так
Delphi
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
unit MyDir;
 
interface
  uses Classes,SysUtils;
 
Type
  ScanDir = class(TComponent)
  protected
    FDirPath: String;
    FDirError: integer;   //  0 - îøèáîê íåò
                          //  1 - ïóòü íå íàéäåí
  Public
    Function New(Path: String):boolean;
 
  published
    property DirPath: String read FDirPath;
    property DirError: integer read FDirError;
 
end;
 
 
implementation
 
Function ScanDir.New(Path: String):boolean;
var
asd:String;
Begin
  FDirError:=0; // <---------------------------- При выполнении выскакивает ошибка "Project raised exception class EAccessViolation" в этой строке
  Path:=Trim(Path);
  asd:=copy(Path,length(path),1);
  if asd<>'\' then Path:=path+'\';
 
  if DirectoryExists(path) then begin
 
  end else begin
    FDirError:=1;
  end;
 
  Result:=false;
End;
 
end.


Ошибка "Project arhMan.exe raised exception class EAccessViolation with message 'Access violation at address ... in module 'arhMan.exe'. Read of address ... '. Process stopped. Use Step or Run to
continue.
"
Читая инет по этой ошибке пришёл к выводу, что, что-то где-то сделал не так в юните MyDir.

Но в учебниках из инета всё написано кратко и у них почему то работает а у меня - нет.
Что же всётаки я сделал не так?

Добавлено через 13 минут
PS просто это не первый вариант реализации. В первом варианте всё работало до определённого момента (из какого учебника вычитал уже не помню), но потом где то ошибся и пошла "каша".
Удалил.
Решил опять найти учебник и начать с начала. В результате вот это всё
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2014, 09:18
Ответы с готовыми решениями:

Изучаю функции. Значение (max и min) не меняется, в чем причина?
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include&lt;stdio.h&gt; using namespace std;...

В чем ошибка? Delphi XE7
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes,...

Изучаю классы, ошибка
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class Human { public: string...

Поиск/фильтр. В чем ошибка? Delphi 7
Доброго времени суток. У меня такая проблема: Столбцы в таблице Fam,Namee,Otche,Group,Spec. Хочу...

2
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.06.2014, 09:43 2
Цитата Сообщение от увдзрш Посмотреть сообщение
в учебниках из инета всё написано кратко
Где-то может и кратко, но вменяемо и по сути.
Например, здесь.
1
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 2
12.06.2014, 10:33  [ТС] 3
mss, ссылку почитал. Не хочу сказать что всё понял, но понял направление. С третьей попытки реализовал. Ошибки нет.


Пишу прогу дальше.
0
12.06.2014, 10:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2014, 10:33
Помогаю со студенческими работами здесь

Не могу понять в чем ошибка (VLC Form app) turbo delphi
Добрый день не могли бы помочь исправить ошибки в программе, вот коды: Unit4.pas(45): E2010...

Изучаю паттерны PHP и есть ошибка с которой не могу разобраться
В файле при компиляции &lt;?php namespace StaticFabric; class StaticFactory { public...

Запрос к бд работает в аксес но не работает в delphi? Подскажите в чём ошибка
begin //ADOQuery1.SQL.Text:='drop table `request`'; //ADOQuery1.ExecSQL; AdoQuery1.SQL.Clear;...

В чем разница компонентов Delphi 7 DBGrid и Delphi 10.3 TDBGrid?
Смотрю урок по Delphi 7, там использовался компонент DBGrid, а у меня 10,3 версия и там вместо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru