Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > прога на winapi не находит СС3260.dll


Автор: BLACK_KOT 17.5.2009, 11:35
прога на winapi не находит СС3260.dll когда работает вне рабочей папки Bin.
прога - стандартый пример создания формы на winapi:
Код

#include <windows.h>
#include <windowsx.h>

#define SimWnd_DefProc DefWindowProc
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
BOOL Register(HINSTANCE hInstance);
HWND Create(HINSTANCE hInstance, int nCmdShow);

static char szAppName[] = "SimWnd";
static HWND hMainWindow;

void SimWnd_OnDestroy(HWND hwnd);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   LPSTR lpszCmdParam, int nCmdShow)
{
    MSG Msg;

    if (!Register(hInstance))
            return FALSE;    
    if (!Create(hInstance, nCmdShow))
            return FALSE;

    while (GetMessage(&Msg, NULL, 0, 0))
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }

    return Msg.wParam;
}

BOOL Register(HINSTANCE hInstance)
{
    WNDCLASS WndClass;
        
    WndClass.style            =    CS_HREDRAW | CS_VREDRAW;
    WndClass.lpfnWndProc    =    WndProc;
    WndClass.cbClsExtra        =    0;
    WndClass.cbWndExtra        =    0;
    WndClass.hInstance        =    hInstance;
    WndClass.hIcon            =    LoadIcon(NULL, IDI_APPLICATION);
    WndClass.hCursor        =    LoadCursor(NULL, IDC_ARROW);
    WndClass.hbrBackground    =    (HBRUSH)(COLOR_BTNFACE+1);
    WndClass.lpszMenuName    =    NULL;
    WndClass.lpszClassName    =    szAppName;

    return (RegisterClass(&WndClass) != 0);
}

HWND Create(HINSTANCE hInstance, int nCmdShow)
{
    HWND hwnd = CreateWindow(szAppName, szAppName,
                    WS_OVERLAPPEDWINDOW,
                    200, 200,
                    300, 300,
                    NULL, NULL, hInstance, NULL);

    if (hwnd == NULL)
        return FALSE;

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    return hwnd;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message,
                         WPARAM wParam, LPARAM lParam)
{
    switch (Message)
    {
        HANDLE_MSG(hwnd, WM_DESTROY, SimWnd_OnDestroy);        
        default:
            return SimWnd_DefProc(hwnd, Message, wParam, lParam);
    }    
}

void SimWnd_OnDestroy(HWND hwnd)
{
    PostQuitMessage(0);
}


как это объясняется и как это исправить?

пытаюсь перейти с delphi на С++ , в С++ я новичёк.

Автор: p51x 17.5.2009, 12:53
Покрутите настройки Билдера (типа "Build with run-time packages") или скопируйте из его бина длл к своему exe-файлу.

Автор: Peter 17.5.2009, 12:59
Я на своем компьютере не могу найти такого файла, не представляю, как он мог понадобиться. Каким компилятором собирается программа?

Автор: BLACK_KOT 17.5.2009, 13:22
Цитата

Я на своем компьютере не могу найти такого файла, не представляю, как он мог понадобиться. Каким компилятором собирается программа?


cc3260.dll   - я через русские "с" наверно выше написал - потому и не нашёл у тебя

С++Bulder 6 компилятор. кстате, а новее есть? мож 7 версия?
Цитата

Покрутите настройки Билдера (типа "Build with run-time packages") или скопируйте из его бина длл к своему exe-файлу.


Project/opions поискал на вкладках - нету вроде. 
опишите поподробней, как мне 
Цитата

скопируйте из его бина длл к своему exe-файлу.



Автор: BLACK_KOT 17.5.2009, 19:16
вы знаете, проблема как то сама по себе рассосалась, после перезапуска С++..

Автор: 586 17.5.2009, 22:34
Цитата(BLACK_KOT @  17.5.2009,  12:35 Найти цитируемый пост)
прога на winapi не находит СС3260.dll когда работает вне рабочей папки Bin.

Папка Bin по умолчанию должна быть прописана в переменной %path%. Она там не прописана.
Мой компьютер -> Свойства -> Дополнительно -> Переменные среды -> Системные переменные -> PATH
в конец строки нужно дописать это: ;C:\Program Files\Borland\CBuilder6\Bin;C:\Program Files\Borland\CBuilder6\Projects\Bpl

Добавлено через 3 минуты и 37 секунд
Если на компе установлен и Builder и Delphi, то эту строку желательно вписать перед путями к папкам delphi.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)