Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Вниз

Использование модулей   Найти похожие ветки 

 
Лана Розанова   (2002-09-23 16:38) [0]

Почему при подключении чужого модуля и использовании его
типов переменных, у меня программа, на первой же строке
модуля выдает "Ошибка доступа к адресу памяти ......"
СПАСИБО!!!


 
qube   (2002-09-23 16:43) [1]

При обращении к переменным ошибок доступа к памяти не бывает. А вот при обращении к объекту, который не был создан, очень даже бывают. Например, в обработчике OnCreate форма обращается к форме, которая создается позже. Приведи текст, где ошибка возникает.


 
Лана Розанова   (2002-09-24 09:50) [2]

Это модуль...

unit ComPort_Class;

interface
uses
Classes,Windows,Sysutils,Head_Class;
{$define USD_NEW_CRC}
{$ASSERTIONS ON}
type
TMyComPort = class(TObject)
private
iTypeInter : integer; // 1 - RS232; 2-Прямой модем 3 - Телефонный модем; 4 - Радио модем.
iTypeTel : integer; // 1 - тоновый; 2 - импульсный
sNumber_Tel : string; // номер телефона для модема
sInicial : string; // строка модемной инициализации
sPozivnoy : string; // позывной для радиомодема
sComName : string; // наименование ком порта
iComRate : integer; // скорость обмена
hComPort : THandle; // хендл порта
bFlagEnable : boolean; // true - порт занят false - порт свободен
dcb : TDCB;
ct : TCommTimeouts;
public
constructor Create(ComName : string;
ComRate : integer;
TypeInter : integer;
TypeTel : integer;
TelNumber : string;
InicStr : string;
Pozivnoy : string;
var res : integer);
implementation

//---------------------------------------------------------------// Конструктор
//---------------------------------------------------------------constructor TMyComPort.Create(ComName : string;
ComRate : integer;
TypeInter : integer;
TypeTel : integer;
TelNumber : string;
InicStr : string;
Pozivnoy : string;
var res : integer);
begin
hComPort := 0; //Здесь и возникает ошибка
iTypeInter := TypeInter;
iTypeTel := TypeTel;
sNumber_Tel := TelNumber;
sInicial := InicStr;
sPozivnoy := Pozivnoy;
sComName := ComName;
iComRate := ComRate;
res := TestPort;
IniPort;
end;
end;

Это моя программка...

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComPort_Class, Head_Class, StdCtrls;

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

var
Form1: TForm1;
Port:TMyComPort;
tmp:integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
tmp:=0;
Port.Create("COM1",9600,1,1,"","","",tmp);
end;

end.


 
Внук   (2002-09-24 09:52) [3]

Это кто ж такой модуль написал, а где Inherited в конструкторе?


 
Лана Розанова   (2002-09-24 09:55) [4]

>Внук

На него компилятор жалуется. Несовместимость типов.


 
Лана Розанова   (2002-09-24 09:57) [5]

Действительно, ошибка возникает как будто объект не создан.
А как это исправить?


 
Внук   (2002-09-24 09:59) [6]

Правильно, потому что список параметров разный, нужно писать не просто Inherited, а Inherited Create; :)


 
Лана Розанова   (2002-09-24 10:07) [7]

>Внук

Поставила в конструкторе inherited create; но все равно выдает ошибку.


 
Внук   (2002-09-24 10:08) [8]

У меня не выдает


 
Внук   (2002-09-24 10:10) [9]

Вместо Port.Create("COM1",9600,1,1,"","","",tmp);
Port:=TMyComPort.Create("COM1",9600,1,1,"","","",tmp);



 
Лана Розанова   (2002-09-24 10:20) [10]

Чмоки тебя Внучок. Спасибо.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
1-8034
FleX
2002-09-22 15:14
2002.10.03
Как поместить иконки в Popup Menu


1-8013
EqapMumo
2002-09-21 14:01
2002.10.03
Тестер


1-8044
Yuraz
2002-09-20 13:09
2002.10.03
Как прочитать формат TTF (шрифт)


1-7987
vadim2
2002-09-20 13:51
2002.10.03
как сделать, чтобы dbgrid обрабатывал wm_paste?


3-7881
Prooksius
2002-09-13 19:49
2002.10.03
Удаление/добавление записей в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский