Synchronize в C++ Builder 2006

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Parabellum762, 8 авг 2006.

Статус темы:
Закрыта.
  1. Parabellum762

    Parabellum762 Гость

    есть программа, на C++Builder 6 работает как часы. Перевожу её на 2006 - нужно кардинально поменять интерфейс.
    Всё отлично, но в новой версии борланд поменял синтаксис (или не только синтаксис? :) ) Synchronize вызовов.
    У меня раньше было написано так:

    main.cpp:
    int TMainForm::Function1(int arg)
    {
    // что-то делается
    }
    void TMainForm::MainForm()
    {
    CommPort->Function1 = Function1;
    }

    commport.cpp
    void __fastcall TCommThread::Execute()
    {
    Synchronize(FuncCall1);

    }
    void TCommThread::FuncCall1(void)
    {
    if(Function1)
    Function1(Var1);
    }

    commport.h
    int (__closure *Function1)(int Arg);
    int Var1;

    Загрузил проект в 2006 - при компилировании выскаивает ошибка (на строку Synchronize(FuncCall1); )

    Could mot find a match for 'TThread::Synchronize(void)'

    Читал хелп, там сказано что в синхронизу надо передавать аргументом класс TThreadMethod.
    Что за класс, с чем его жевать - разбираться абсолютно неохота... может, кто уже это делал, и у него есть готовый пример?...
     
  2. Parabellum762

    Parabellum762 Гость

    Всё Ок, победил я эту ерунду.

    нужно было только написать Synchronize(TThreadMethod)&Function1);
     
  3. kot_

    kot_ Гость

    Говорят, явное приведение типов указателей - это хороший стиль программирования. Не знаю как на счет стиля - но огромное количество проблем отпадает сразу.
     
Загрузка...
Похожие Темы - Synchronize C++ Builder
  1. k85
    Ответов:
    2
    Просмотров:
    3.742
  2. Nadia_IT
    Ответов:
    0
    Просмотров:
    27
  3. kmm96
    Ответов:
    1
    Просмотров:
    26
  4. TriXel_01
    Ответов:
    5
    Просмотров:
    105
  5. acs-nexus
    Ответов:
    0
    Просмотров:
    93
Статус темы:
Закрыта.

Поделиться этой страницей