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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приложение закрывается с ошибкой при завершении 
:(
    Опции темы
CODeRUS
Дата 11.3.2011, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Приложение написано на Delphi 2010. При запуске с отладкой при закрытии программы вылазит окно с ошибкой в приложении и просьбой обратиться к поставщику)
При запуске без отладки при завершении такого нет.

Из визуальных компонентов - PageControl, StringGrid, куча разных кнопок и прочей ерунды.
Так же используется инди http и антифриз

в процессе работы приложение создает потоки TMemoryStream и после использования освобождает через Free (проверил все места, 100% все освобождается)

Не могу никак найти причину сообщения об ошибке при закрытии... Может натолкнет кто в нужную сторону? Пробовал убирать инди для теста - то же самое.
PM MAIL   Вверх
CodeMonkey
Дата 11.3.2011, 14:24 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

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



Ошибка в 13-й строке.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MetalFan
Дата 11.3.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



CODeRUS, AQTime, EurikaLog. только они все денег стоят. может есть что бесплатное...
А так согласен, ошибка в 13й строке. Ну или в 14й.


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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(CodeMonkey @  11.3.2011,  17:24 Найти цитируемый пост)
Ошибка в 13-й строке.

нее такие ошибки обычно в 17 ой..


Цитата(CODeRUS @  11.3.2011,  15:16 Найти цитируемый пост)
в процессе работы приложение создает потоки TMemoryStream и после использования освобождает через Free (проверил все места, 100% все освобождается)

Наверно, что то рано освободилось или используется после освобождения.




--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
CODeRUS
Дата 11.3.2011, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



так закрытие приложения.
фоновых операция никаких не проводится.
потоки через if Assigned() при закрытии закрываю на FormDestroy.

дебаггер не может смириться с моим чудо-кодом?))

Это сообщение отредактировал(а) CODeRUS - 11.3.2011, 16:21
PM MAIL   Вверх
Snowy
Дата 11.3.2011, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Мои телепатические способности подсказывают вероятность ошибки при выгрузке dll / bpl
Где-либо исплользуется принудительная выгрузка dll?
PM MAIL   Вверх
CODeRUS
Дата 11.3.2011, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



нет приложение один-единственный exe файл...
все что использует приложение:
Код

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Menus, ComCtrls, Clipbrd, CheckLst, Encoding, Registry,
  Grids, Tabs, ExtCtrls, Types, Generics.Collections;

type
  TForm2 = class(TForm)
    OpenDialog1: TOpenDialog;
    PopupMenu1: TPopupMenu;
    Copytoclipboard1: TMenuItem;
    Label27: TLabel;
    PopupMenu2: TPopupMenu;
    Copytoclipboard2: TMenuItem;
    Pastefromclipboard1: TMenuItem;
    PopupMenu3: TPopupMenu;
    N150EPriorityLow1: TMenuItem;
    N250EPriorityBackground1: TMenuItem;
    N350EPriorityForeground1: TMenuItem;
    N450EPriorityHigh1: TMenuItem;
    N650EPriorityWindowServer1: TMenuItem;
    N750EPriorityFileServer1: TMenuItem;
    N850EPriorityRealTimeServer1: TMenuItem;
    N950EPrioritySupervisor1: TMenuItem;
    Label32: TLabel;
    CheckBox3: TCheckBox;
    MainMenu1: TMainMenu;
    A1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    Label33: TLabel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label26: TLabel;
    Label30: TLabel;
    Label9: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit25: TEdit;
    Edit26: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    CheckListBox1: TCheckListBox;
    Edit24: TEdit;
    BitBtn4: TBitBtn;
    Edit27: TEdit;
    Edit7: TEdit;
    GroupBox2: TGroupBox;
    Label7: TLabel;
    Label14: TLabel;
    Label12: TLabel;
    Label8: TLabel;
    Label15: TLabel;
    Label13: TLabel;
    Label20: TLabel;
    Label6: TLabel;
    Label19: TLabel;
    Label21: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label18: TLabel;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit18: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit17: TEdit;
    Edit16: TEdit;
    Edit19: TEdit;
    Edit20: TEdit;
    Edit21: TEdit;
    Edit22: TEdit;
    Edit23: TEdit;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn7: TBitBtn;
    Panel3: TPanel;
    CodeAnalyzeGrid: TStringGrid;
    BitBtn11: TBitBtn;
    BitBtn12: TBitBtn;
    BitBtn10: TBitBtn;
    Expertmode1: TMenuItem;
    SaveDialog1: TSaveDialog;
    Label31: TLabel;
    Label4: TLabel;
    BitBtn3: TBitBtn;
    CodeRelocGrid: TStringGrid;
    Memo1: TMemo;
    Button1: TButton;
    BitBtn5: TBitBtn;
    procedure FormDestroy(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Copytoclipboard1Click(Sender: TObject);
    procedure LoadEpoc(path: string);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Copytoclipboard2Click(Sender: TObject);
    procedure Pastefromclipboard1Click(Sender: TObject);
    procedure Edit24KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure N150EPriorityLow1Click(Sender: TObject);
    procedure N250EPriorityBackground1Click(Sender: TObject);
    procedure N350EPriorityForeground1Click(Sender: TObject);
    procedure N450EPriorityHigh1Click(Sender: TObject);
    procedure N650EPriorityWindowServer1Click(Sender: TObject);
    procedure N750EPriorityFileServer1Click(Sender: TObject);
    procedure N850EPriorityRealTimeServer1Click(Sender: TObject);
    procedure N950EPrioritySupervisor1Click(Sender: TObject);
    procedure CheckListBox1Click(Sender: TObject);
    procedure GetRelocs;
    procedure GetOpcodes;
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure Expertmode1Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure Label32MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Edit5MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure N7Click(Sender: TObject);
    procedure A1Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure CodeRelocGridMouseWheelDown(Sender: TObject;
      Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
    procedure CodeRelocGridMouseWheelUp(Sender: TObject;
      Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
    procedure CodeAnalyzeGridMouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    procedure CodeRelocGridMouseLeave(Sender: TObject);
    procedure CodeAnalyzeGridMouseLeave(Sender: TObject);
    procedure CodeRelocGridMouseEnter(Sender: TObject);
    procedure CodeRelocGridDblClick(Sender: TObject);
    procedure CodeAnalyzeGridDblClick(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  CodeData = array [0 .. 5] of string;

type
  CodeSet = array of CodeData;


var
  iExpertMode: bool;
  Form2: TForm2;
  FS: TMemoryStream;
  iHeader: TBytes;

  iPriority, iCpu, iBitmapDescSize: word;
  iBitmapDescFormat, iBitmapDesc: byte;

  temp: string;

  RelocOffsets: array of dword;

  CodeRelocTable: array of array [0..8] of string;
  CodeAnalyzeTable: array of array [0..5] of string;

  CodeDataTable: TDictionary<dword, CodeSet>;
  DataOffsets : array of dword;

  iCaps: int64;

  iUid1, iUid2, iUid3, iUidCrc, aUidCrc, iSignature, iHeaderCrc, iVersion,
    iCompressionType, aCRC32, iToolsVersion, iTimeLo, iTimeHi, iFlags,
    iCodeSize, iDataSize, iHeapMin, iHeapMax, iStackSize, iBssSize,
    iEntryPoint, iCodeBase, iDataBase, iDllRefCount, iExportAddr, iExportCount,
    iTextSize, iCodeOffset, iDataOffset, iImportOffset, iCodeRelocOffset,
    iDataRelocOffset, iUncompressedSize, iSecureId, iVendorId, iCaps4, iCaps8,
    iExceptionDescOffset, iSpare

    : dword;

PM MAIL   Вверх
superVad
Дата 11.3.2011, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



После ошибки на какую строку указывает делфи? Покажи окошко ошибки.
PM MAIL   Вверх
CODeRUS
Дата 11.3.2011, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я же писал в первом посте, что ошибку сама делфи не показывает, виндовое окошко вылазит что приложение выполнило недопустимую операцию, по нажатию ок закрывается.
PM MAIL   Вверх
CODeRUS
Дата 12.3.2011, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



то есть вот уже программа закрылась, и вылазил окно что приложение закрыто с ошибкой. виндовое. делфи уже не следит за приложением.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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