Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2011, 22:19   #1
pastuhdima
Немного нуб
Пользователь
 
Аватар для pastuhdima
 
Регистрация: 01.10.2011
Сообщений: 41
Вопрос AccesViolation at... (не знаю в чем проблема)

Проблема возникает при нажатии Button1
Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, inifiles;

type
  TForm4 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4,form3: TForm4;

implementation

uses Unit3;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
var inifile:tinifile;
    pass,url:string;
begin
  url:=application.ExeName;
  url:=extractfiledir(url);
  if url[Length(url)]<>'\' then url:=url+'\';
  inifile:=tinifile.Create(url+'cfg.ini');
  pass:=inifile.ReadString('password','key','111');
  if edit1.Text='' then label2.Visible:=true else
    begin
      if edit1.Text<>pass then label2.Visible:=true else
        begin
          form3.show;
          form4.Hide;
        end;

    end;
  inifile.Free;
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
  close;
end;

end.
pastuhdima вне форума Ответить с цитированием
Старый 05.10.2011, 22:27   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Запустите эту программу в Делфи, а когда она покажет ошибку, укажите строку, в которой происходит ошибка.
Вадим Мошев вне форума Ответить с цитированием
Старый 05.10.2011, 22:31   #3
pastuhdima
Немного нуб
Пользователь
 
Аватар для pastuhdima
 
Регистрация: 01.10.2011
Сообщений: 41
По умолчанию

Не показывает строку... просто выбивает 'AccesViolation at address 004a9d52 in module 'pass.exe'...'
pastuhdima вне форума Ответить с цитированием
Старый 06.10.2011, 07:51   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Думаю, у Вас не создана форма3 , Вы только объявили её как переменную.
советую создать её отдельно, из меню файл-новый-форма. Она добавится к проекту новым модулем, этот модуль прописываете в uses модуля первой формы (форм4) и уже работаете с разными формами
Если же вы хотите абсолютно аналогичную форму, то выберите меню проект-исходный код (project-source code)? откроется код проекта, там скопируйте строчку Application.createform(Tform4, form4); и замените form4 на form3
EDIT
Поглядел ещё исходник из второй вашей темы (вообще, конечно, запрещено создавать кросспост-темы ) я так понял? Вы хотите сделать чтобы из одной формы можно было обращаться к другой, так вот - убирайте объявления типа Form4,form3: TForm4; должна быть только переменная соответствующая типу, а чтобы добавить взаимодействие с другой формой - добавляйте в uses имя модуля с нужной формой !

Последний раз редактировалось phomm; 06.10.2011 в 07:56.
phomm вне форума Ответить с цитированием
Старый 06.10.2011, 17:06   #5
pastuhdima
Немного нуб
Пользователь
 
Аватар для pastuhdima
 
Регистрация: 01.10.2011
Сообщений: 41
Печаль

Цитата:
Сообщение от phomm Посмотреть сообщение
Думаю, у Вас не создана форма3 , Вы только объявили её как переменную.
У меня создана форма3 все есть но не могу нормально использовать программу постоянно выбивают ероры.
pastuhdima вне форума Ответить с цитированием
Старый 06.10.2011, 21:11   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Прочитайте то, что после слова EDIT в предыдущем моём посте и исправьте, как указано.
Выбивают ероры - это гопники в подворотне, а ошибки надо показывать текстом, чтобы другие поняли, о чем Вы
phomm вне форума Ответить с цитированием
Старый 06.10.2011, 21:24   #7
pastuhdima
Немного нуб
Пользователь
 
Аватар для pastuhdima
 
Регистрация: 01.10.2011
Сообщений: 41
Радость

Цитата:
Сообщение от phomm Посмотреть сообщение
Прочитайте то, что после слова EDIT в предыдущем моём посте и исправьте, как указано.
Выбивают ероры - это гопники в подворотне, а ошибки надо показывать текстом, чтобы другие поняли, о чем Вы
Спасибо, уже исправил проблему.
pastuhdima вне форума Ответить с цитированием
Старый 06.10.2011, 21:46   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Расскажите, в чём была проблема. Это будет полезно и другим.
Вадим Мошев вне форума Ответить с цитированием
Старый 07.10.2011, 00:49   #9
pastuhdima
Немного нуб
Пользователь
 
Аватар для pastuhdima
 
Регистрация: 01.10.2011
Сообщений: 41
Смущение

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Расскажите, в чём была проблема. Это будет полезно и другим.
Мне рассказали что проблема в инициализации. Форм3 и форм4 не инициализировались. По этому при открытии программы постоянно выбрасывали ошибки. По этому переписал программу и сделал, чтобы для начала работы нужно зайти Файл-Начать работу... Спасибо всем кого заставил мучатся)
pastuhdima вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даже не знаю в чем проблема DeFace Win Api 2 04.09.2010 20:44
Не знаю в чем ошибка PeRt Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 26.05.2010 09:20
Не знаю в чём проблема Castro Паскаль, Turbo Pascal, PascalABC.NET 5 24.12.2008 01:38
Не не знаю в чем проблема с IdUDPServer D@rk M@k Работа с сетью в Delphi 2 28.12.2007 15:46