Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
igor-x
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 8
#1

Как правильно вызвать функцию? - C++

14.02.2011, 11:06. Просмотров 1254. Ответов 4
Метки нет (Все метки)

Добрый день.

подскажите как исправить ошибку:

C++
1
2
3
TAsync * Async ;
Async = new TAsync;
ComPort-> WriteStrAsync(ServerEdit->Text,Async );
в результате - сообщение об ошибке во время выполнения - invalid pointer operation.
похоже неверно сделан вызов ComPort-> WriteStrAsync ?

для справки строки из comport.hpp:

C++
1
2
3
4
5
6
7
8
9
//----
int __fastcall WriteStrAsync(const AnsiString Str, PAsync &AsyncPtr);
//---
typedef TAsync *PAsync;
 
class DELPHICLASS TComLink;
class PASCALIMPLEMENTATION TComLink : public System::TObject 
{
typedef System::TObject inherited;
--
Спасибо !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2011, 11:06     Как правильно вызвать функцию?
Посмотрите здесь:

Как правильно вызвать функцию? - C++
Здравствуйте,посдкажите как правильно объявить функцию в private и вызвать ее в классе. Перепишите текст в сообщение. П. 5.18 и 5.19...

Как правильно вызвать эту функцию? - C++
int sum(int a, int b) { return a + b; } Варианты ответов: 1. sum ( int 7, int 8 ); 2. int sum(int a = 7, int b = 8); ...

Как правильно создать функцию и затем вызвать ее - C++
#include<string> #include <cmath> #include <iostream> #include<locale> using namespace std; int rl1,rl2,rl3,rl4,a,b,c,s; int...

Как вызвать функцию-член правильно для класса Person - C++
Задача простая, ввести фамилию и имя и вывести их. Подскажите, как правильно написать функцию вывода print(). Если один параметр...

Как правильно вызвать пользовательскую ф-цию - C++
Выдает ошибку, связанную с передачей массива, как аргумента ф-ции. #include <cstdlib> #include <iostream> #include <cmath> using...

Как вызвать функцию? - C++
У меня допустим есть уже готовые функции с именами от а0 до а1000 а мне нужно чтобы прога исходя из входных данных сама высчитала...

Как правильно вызвать конструктор вектора в данном случае? - C++
#include <iostream> #include <fstream> #include <map> #include <vector> #include <string> using namespace std; typedef...

Как можно правильно вызвать apply в следующей ситуации... - C++
Здравствуйте. Хотел использовать метод apply для перебора элементов контейнера valarray. Но мне нужно получать доступ ко внешней...

Как вызвать функцию из .h в main ? - C++
Здравствуйте! Помогите решить проблему. У меня есть много маленьких подзадачек в виде функций, которые расписаны в файлах .h и .cpp....

Транспонирование - как вызвать функцию из main - C++
Вроде всё правильно но выдаёт ошибку Unresolved external '_main' referenced from C:\PROGRAM FILES...

Как вызвать функцию через указатель? - C++
Привет всем! Помогите пожалуйста! Есть готовая рабочая программа, надо вызвать функцию через указатель. Никак не могу разобраться... =( ...

Написал функцию и не знаю как ее вызвать - C++
Глупая ситуация. :) Написал функцию, которая транспонирует двумерную матрицу и не могу ее . Компилятор ругается на передачу массива. Что я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
14.02.2011, 11:59     Как правильно вызвать функцию? #2
Попробуй звездочку поставить
C++
1
ComPort-> WriteStrAsync(ServerEdit->Text, *Async );
Добавлено через 1 минуту
А ServerEdit к этому моменту существует?
igor-x
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 8
14.02.2011, 12:08  [ТС]     Как правильно вызвать функцию? #3
Цитата Сообщение от Day Посмотреть сообщение
Попробуй звездочку поставить
C++
1
ComPort-> WriteStrAsync(ServerEdit->Text, *Async );
Добавлено через 1 минуту
А ServerEdit к этому моменту существует?
без звездочки он не компилировался , поставил звездочку - при выполнении этой команды возникает ошибка "Access violation at address xxxx in module BORLANDMM.DLL. Read of address xxxxx"

ServerEdit - он на форме расположен , TEdit

если заменяю на ComPort->WriteStrAsync("123", *Async ); ошбка таже - "Access violation...."
Asazeus
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 4
09.12.2012, 09:53     Как правильно вызвать функцию? #4
Может кому пригодится..

Нужно писать:
C++
1
2
3
4
5
TAsync* Async;
Async = new TAsync;
InitAsync(Async);
 
ComPort1->WriteStrAsync("стринг",Async);
Elefanov
Сообщений: n/a
16.09.2014, 08:22     Как правильно вызвать функцию? #5
Функция InitAsync самостоятельно выделяет память. По завершению использования вызвать DoneAsync. Правильнее будет так:
C++
1
2
3
TAsync* Async;
InitAsync(Async);
ComPort1->WriteStrAsync("стринг",Async);
Yandex
Объявления
16.09.2014, 08:22     Как правильно вызвать функцию?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru