Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа не запускается, сразу пишется Ошибка, EConvertError 
V
    Опции темы
ReGeDiT
  Дата 22.6.2008, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 4.7.2006
Где: Пущино на Оке

Репутация: нет
Всего: нет



Код
program Project1;

uses
  Forms, Windows, Graphics,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2},
  Unit3 in 'Unit3.pas' {Form3},
  Unit4 in 'Unit4.pas' {Form4},
  Unit5 in 'Unit5.pas' {Form5},
  Unit6 in 'Unit6.pas' {Form6},
  Unit7 in 'Unit7.pas' {Form7},
  Unit8 in 'Unit8.pas' {Form8},
  Unit9 in 'Unit9.pas' {Form9},
  Unit10 in 'Unit10.pas' {Form10};

{$R *.res}

var
  HM: THandle;

function Check: Boolean;
begin
  HM := OpenMutex(MUTEX_ALL_ACCESS, false, 'MyOwnMutex');
  Result := (HM <> 0);
  if HM = 0 then HM := CreateMutex(nil, false, 'MyOwnMutex');
end;

begin
  if Check then Exit;
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'Project1';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm6, Form6);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.CreateForm(TForm5, Form5);
  Application.CreateForm(TForm7, Form7);
  Application.CreateForm(TForm8, Form8);
  Application.CreateForm(TForm9, Form9);
  Application.CreateForm(TForm10, Form10);
  Application.Run;
end.


Очень странная ошибка! До этого всё работало, пришёл домой, запустил программу из уже откомпилированного файла (работал до этого) и внезапно начал ругаться на это - First chance exception at $7C812A7B. Exception class EConvertError with message 'Format '%x' invalid or incompatible with argument'. Process Project1.exe (904)

Ошибка происходит на создании формы 1 (Application.CreateForm(TForm1, Form1);).

Код события OnCreate формы 1

Код
procedure TForm1.FormCreate(Sender: TObject);
var
  hwndHandle: THANDLE;
  hMenuHandle: HMENU;
  iPos: Integer;
begin
  iPos := Unassigned;
  hMenuHandle := Unassigned;
  hwndHandle := Unassigned;
  hwndHandle := FindWindow(nil, PChar(Caption));
  if (hwndHandle <> 0) then
  begin
    hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
    if (hMenuHandle <> 0) then
    begin
      DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
      iPos := GetMenuItemCount(hMenuHandle);
      Dec(iPos);
      // Надо быть уверенным, что нет ошибки т.к. -1 указывает на ошибку
      if iPos > -1 then DeleteMenu(hMenuHandle, iPos, MF_BYPOSITION);
     end;
  end;
  Application.ShowMainForm := False;
  Form1.Visible := False;
  Form1.Enabled := False;
end;


Очень прошу помочь понять в чём именно дело
PM MAIL WWW ICQ   Вверх
lukas
Дата 22.6.2008, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



а в какой строчке вылетает ошибка... достаточно проверить через F8...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
MetalFan
Дата 22.6.2008, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(ReGeDiT @  22.6.2008,  00:36 Найти цитируемый пост)
    iPos := Unassigned;
hMenuHandle := Unassigned;
  hwndHandle := Unassigned;

хм... а зачем Varinats.Unassigned? может хватит просто нуля?  smile 

Это сообщение отредактировал(а) MetalFan - 22.6.2008, 08:48


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Rrader
  Дата 22.6.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Цитата

hwndHandle := FindWindow(nil, PChar(Caption));

Тоже лишние телодвижения smile 

ReGeDiT, У формы есть свойство Handle. Ошибка где-то по ходу программы, но не в FormCreate. Раз сказано, что функция Format валится. smile 




--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
ReGeDiT
Дата 22.6.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 4.7.2006
Где: Пущино на Оке

Репутация: нет
Всего: нет



Программа не запускается вообще. Ошибка происходит на событии создания главной первой формы Form1.

Соответственно, там на OnCreate где-то ошибка. Хотя даже если я оставляю событие пустым и закоментирывываю 

Код
procedure TForm1.FormCreate(Sender: TObject);
  {
var
  hwndHandle: THANDLE;
  hMenuHandle: HMENU;
  iPos: Integer;
  }
begin
  {
  hwndHandle := 0; hMenuHandle := 0; iPos := 0;
  hwndHandle := FindWindow(nil, PChar(Caption));
  if (hwndHandle <> 0) then
  begin
    hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
    if (hMenuHandle <> 0) then
    begin
      DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
      iPos := GetMenuItemCount(hMenuHandle);
      Dec(iPos);
      // Надо быть уверенным, что нет ошибки т.к. -1 указывает на ошибку
      if iPos > -1 then DeleteMenu(hMenuHandle, iPos, MF_BYPOSITION);
     end;
  end;
  Application.ShowMainForm := False;
  Form1.Visible := False;
  Form1.Enabled := False;
  }
end;


всё-равно не работает ...

Добавлено через 14 минут и 22 секунды
а если убираю все события с форм OnCreate то вылезает ошибка "Invalid Property Patch"

может дело не в коде?

Это сообщение отредактировал(а) ReGeDiT - 22.6.2008, 13:22
PM MAIL WWW ICQ   Вверх
MetalFan
Дата 22.6.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(ReGeDiT @  22.6.2008,  13:20 Найти цитируемый пост)
может дело не в коде?

ага, напрашиваются только руки программиста


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
ReGeDiT
Дата 22.6.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 4.7.2006
Где: Пущино на Оке

Репутация: нет
Всего: нет



Цитата(MetalFan @ 22.6.2008,  17:24)
Цитата(ReGeDiT @  22.6.2008,  13:20 Найти цитируемый пост)
может дело не в коде?

ага, напрашиваются только руки программиста

раньше, когда я был молодым и глупым, я так же писал, когда не мог дать ответ smile

ПС: Разобрался в чём было дело, пропадала настройка Output Direcrtory в Project Options. И ещё кое-какие настройки компиляции пришлось изменить. Теперь всё супер.

Спасибо за дельные советы!
PM MAIL WWW ICQ   Вверх
MetalFan
Дата 22.6.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



 smile 
Цитата(ReGeDiT @  22.6.2008,  16:31 Найти цитируемый пост)
раньше, когда я был молодым и глупым, я так же писал, когда не мог дать ответ

поумнели? хорошо!  smile 

Это сообщение отредактировал(а) MetalFan - 22.6.2008, 17:40


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1099 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.