Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Using Synapse with KOL   Найти похожие ветки 

 
Jon ©   (2004-12-09 15:06) [0]

Hello - please excuse my Engish, I do not speak Russian :-(

I am using KOL with the SynaSer component of Synapse (www.ararat.cz/synapse) with Delphi 7 and Windows XP. I am not using MCK.

I find that if I create a TBlockSerial object within a function or procedure, it only exists in that procedure. If I try to access the object later, it fails. To fix this I have to create TBlockSerial within the main block of code. This is an example:

var
SerialPort: TBlockSerial;

// can be a function or a procedure
function SerialStuff(Port: String); Boolean;
begin
Result := True
SerialPort := TBlockSerial.Create;   // This line does not work!
SerialPort.Connect(Port);
If SerialPort.LastError <> 0 then Result := False;
end;

// create only works correctly in this main block
begin
SerialPort := TBlockSerial.Create;  // Create only works here!
if SerialStuff("Com1") then
begin
 // ..rest of program..
end;
end.

This is not convenient for me as I will have an unknown amount of objects to create from an array or list. Is the problem the parent of the object? Can I work around this?

I have contacted the developer of Synapse and he recommends asking you.

Any help would be appreciated.

Many thanks in advance.


 
stranger_2004 ©   (2004-12-09 18:34) [1]

var
SerialPort: TBlockSerial;

begin
SerialPort := TBlockSerial.Create;  // Create only works here!
if SerialStuff("Com1") then
begin
// ..rest of program..
end;
Do not create Serialport in serialstuff proc,
port already created on bolded line, if SerialPort - it`s global variable on your unit.


 
Jon ©   (2004-12-12 14:04) [2]

Sorry, maybe I was not clear. I only use one of the create lines. I included both in my example to show where it did and did not work.

I do not want to create in the main body, I want to create it in my procedure. There will be more code there to check if it really is needed and how many.

I find that if I create it in the procedure, it is not valid.

Sorry for the confusion :-)


 
alekc   (2004-12-13 12:14) [3]


> Result := True
> SerialPort := TBlockSerial.Create;   // This line does not work!> SerialPort.Connect(Port);


What it (compiler) says ?


 
Jon ©   (2004-12-13 17:07) [4]

The create line itself does not cause an error message.

When I try to use the port (connect to it) the program crashes, because the object was not created.

If you require the exact message I shall have to look at my computer later when I am near it. Probably tomorrow :-(


 
thaddy   (2004-12-14 03:11) [5]

Shure you should not use NewBlockSerial??
I will have a look at the synapse for kol code and see what I can do.

Thaddy
http://members.chello.nl/kolindex.htm


 
thaddy   (2004-12-14 03:12) [6]

http://members.chello.nl/t.koning8/kolindex.htm



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

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
14-1120030901
kot andrei
2005-06-29 11:41
2005.07.18
Чем чревато большое количествоглобальных переменных в проекте?


14-1119429983
timotei
2005-06-22 12:46
2005.07.18
Memory Spy


3-1118132041
Тучудище
2005-06-07 12:14
2005.07.18
Обновление lookup кэша при автоматическом обновлении НД


8-1110725856
Uncle Dix
2005-03-13 17:57
2005.07.18
Считывание сигнала с линейного входа(Line in) звуковой карты


14-1118827974
Игорь Шевченко
2005-06-15 13:32
2005.07.18
Для Microsoft демократические принципы оказались менее значимыми