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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2015, 03:12   #1
fredwriter
Форумчанин
 
Регистрация: 06.10.2009
Сообщений: 121
По умолчанию Ошибка доступа к памяти при создании клиента MySQL (Delphi XE7)

Здравствуйте!
Такая проблема появилась, на приведенной ниже строчке возникает исключение access violation. Сталкивался ли кто-нибудь с подобной проблемой?
Код:
Client:=TMySQLClient.Create(self);
Ищущий да обрящет
fredwriter вне форума Ответить с цитированием
Старый 11.02.2015, 06:51   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Вы должны бы уж и сами знать, что телепаты на Таити. Вы не были на Таити ?

Надо бы выкладывать всё относящееся к делу, по возможности вообще весь проект (или хотя бы модуль с проблемным кодом) и указывать какие действия производятся, где именно ошибка возникает (модуль и номер строки).

Могу лишь предположить что что-то не так с Self , например, вызвали метод несозданной формы. Микровероятность, что клиент это поле с сеттером, который делает много работы и в нём собака порылась.
phomm вне форума Ответить с цитированием
Старый 11.02.2015, 09:06   #3
fredwriter
Форумчанин
 
Регистрация: 06.10.2009
Сообщений: 121
По умолчанию

Так там какие модули то? Эта строчка в начале модуля главной формы написана.
Ну ок, вот начало кода:
Код:
  
type
  TMainForm = class(TForm)
    .........................
  public
    { Public declarations }
    Client : TmySQLClient;
    ..........................
  end;
  TargetCP.ItemIndex:=0;
  Client:=TMySQLClient.Create(self);
  Client.Capabilities:=[CLIENT_LONG_PASSWORD, CLIENT_CONNECT_WITH_DB];
  DBF:=TDBF.Create(Self);
  DBF.ReadOnly:=True;
  DS.DataSet:=DBF;
  R:=TRegistry.Create;
Проблемная строчка вторая.
Ищущий да обрящет

Последний раз редактировалось fredwriter; 11.02.2015 в 09:11.
fredwriter вне форума Ответить с цитированием
Старый 11.02.2015, 09:15   #4
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

это не код, а вас просили код показать, ну не хотите - как хотите
lomastr_ вне форума Ответить с цитированием
Старый 11.02.2015, 09:18   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
возникает исключение access violation.
Попробуй вместо self поставить nil.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2015, 09:33   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
TMySQLClient.Create(self);
Смотрю uMySQLClient - там в конструкторе вообще параметр не нужен. Или не туда смотрю? И вообще подходит ли он для XE7?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.02.2015 в 09:36.
Аватар вне форума Ответить с цитированием
Старый 11.02.2015, 09:34   #7
fredwriter
Форумчанин
 
Регистрация: 06.10.2009
Сообщений: 121
По умолчанию

lomastr_, Так я не понял, зачем вам код ниже или из других модулей?
Нужен ли вам будет другой код в этом случае:
Код:
var 
  i, j: integer;
begin
  i := 13;
  j := 'Нужно больше, БОЛЬШЕ КОДА!';
end;
Ищущий да обрящет
fredwriter вне форума Ответить с цитированием
Старый 11.02.2015, 09:37   #8
fredwriter
Форумчанин
 
Регистрация: 06.10.2009
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Смотрю uMySQLClient - там в конструкторе вообще параметр не нужен. Или не туда смотрю? И вообще подходит ли он для XE7?
uMySQLClient?
Ищущий да обрящет
fredwriter вне форума Ответить с цитированием
Старый 11.02.2015, 09:38   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Да не дают так код, по крайней мере код метода с заголовком. Часто и этого мало. Выдернутые три строки из контекста ни о чем не говорят
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.02.2015, 09:39   #10
fredwriter
Форумчанин
 
Регистрация: 06.10.2009
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Попробуй вместо self поставить nil.
Не помогло.
Ищущий да обрящет
fredwriter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка доступа к памяти FantaC Общие вопросы C/C++ 4 24.02.2012 00:14
Ошибка доступа к памяти Dmitry333 Компоненты Delphi 12 30.03.2011 15:27
Ошибка доступа при выделении памяти в чужом процессе Neoteric Общие вопросы Delphi 21 06.12.2010 16:50
Ошибка доступа памяти, при работе с принятой строкой. Zeraim Работа с сетью в Delphi 11 26.01.2010 01:11
Ошибка доступа к памяти AzoTik Общие вопросы Delphi 6 22.01.2010 10:17