Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка про запуске проги на другом компутере 
:(
    Опции темы
ГЫнок
Дата 16.5.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Здравствуйте!!!
Написал программку на CBuilder'е. Пробую запускать программу на другом компутере выдает ошибку и не одну  smile ...
Подскажите что делать?

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  error.JPG 92,25 Kb
PM MAIL   Вверх
Данкинг
Дата 16.5.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Видимо, ошибка-то одна, просто у тебя или таймер, или цикл там стоит для рисования графика. А из-за чего - надо в коде смотреть, ошибка же абстрактная.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ГЫнок
Дата 16.5.2009, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Там действительно есть цикл вот код.

Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

#pragma hdrstop

#include <io.h>         //для работы с файлами
#include <fcntl.h>      //для работы с файлами
#include <sys\stat.h>   //для работы с файлами

#include <stdio.h>
#include "windows.h"
#include "mpusbapi.h"                  // MPUSBAPI Header File

//---------------------------------------------------------------------------
#pragma argsused

void open();

// Global Vars
char vid_pid[]= "vid_04d8&pid_000c";    // Default Demo Application Firmware  Vid_04d8&Pid_0053   vid_04d8&pid_000c
char out_pipe[]= "\\MCHP_EP1";
char in_pipe[]= "\\MCHP_EP1";

FILE *fp;

DWORD temp;

HINSTANCE libHandle;
HANDLE myOutPipe;
HANDLE myInPipe;
WORD kof=1, kof1=1;

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void LoadDLL(void) // функція завантаження бібліотеки
{
libHandle = NULL;
libHandle = LoadLibrary("mpusbapi");
if(libHandle == NULL)
{
Form1->Edit1->Text="Error loading mpusbapi.dll";
}
else
{
MPUSBGetDLLVersion=(DWORD(*)(void))\
GetProcAddress(libHandle,"_MPUSBGetDLLVersion");
MPUSBGetDeviceCount=(DWORD(*)(PCHAR))\
GetProcAddress(libHandle,"_MPUSBGetDeviceCount");
MPUSBOpen=(HANDLE(*)(DWORD,PCHAR,PCHAR,DWORD,DWORD))\
GetProcAddress(libHandle,"_MPUSBOpen");
MPUSBWrite=(DWORD(*)(HANDLE,PVOID,DWORD,PDWORD,DWORD))\
GetProcAddress(libHandle,"_MPUSBWrite");
MPUSBRead=(DWORD(*)(HANDLE,PVOID,DWORD,PDWORD,DWORD))\
GetProcAddress(libHandle,"_MPUSBRead");
MPUSBReadInt=(DWORD(*)(HANDLE,PVOID,DWORD,PDWORD,DWORD))\
GetProcAddress(libHandle,"_MPUSBReadInt");
MPUSBClose=(BOOL(*)(HANDLE))GetProcAddress(libHandle,"_MPUSBClose");

if((MPUSBGetDeviceCount == NULL) || (MPUSBOpen == NULL) ||
(MPUSBWrite == NULL) || (MPUSBRead == NULL) ||
(MPUSBClose == NULL) || (MPUSBGetDLLVersion == NULL) ||
(MPUSBReadInt == NULL))
Form1->Edit1->Text="GetProcAddress Error";
}//end if else
}//end LoadDLL  */


void CheckInvalidHandle(void)
{
    if(GetLastError() == ERROR_INVALID_HANDLE)
    {
        // Most likely cause of the error is the board was disconnected.
        MPUSBClose(myOutPipe);
        MPUSBClose(myInPipe);
        myOutPipe = myInPipe = INVALID_HANDLE_VALUE;
    }//end if
    //else
        //Form1->Edit2->Text=GetLastError();
}//end CheckInvalidHandle

DWORD SendReceivePacket(BYTE *SendData, DWORD SendLength, BYTE *ReceiveData,
DWORD *ReceiveLength, UINT SendDelay, UINT ReceiveDelay)
{
DWORD SentDataLength;
DWORD ExpectedReceiveLength = *ReceiveLength;

if(myOutPipe != INVALID_HANDLE_VALUE && myInPipe != INVALID_HANDLE_VALUE)
{
  if(MPUSBWrite(myOutPipe,SendData,SendLength,&SentDataLength,SendDelay))
  {

    if(MPUSBRead(myInPipe,ReceiveData, ExpectedReceiveLength,
    ReceiveLength,ReceiveDelay))
    {
      if(*ReceiveLength == ExpectedReceiveLength)
      {
      return 1; // Success!
      }
      else if(*ReceiveLength < ExpectedReceiveLength)
      {
      return 2; // Partially failed, incorrect receive length
      }//end if else
    }
    else
    CheckInvalidHandle();
  }
  else
  CheckInvalidHandle();
}//end if

return 0; // Operation Failed
}//end SendReceivePacket*/

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
LoadDLL();
myOutPipe = MPUSBOpen(0,vid_pid,out_pipe,MP_WRITE,0);
myInPipe = MPUSBOpen(0,vid_pid,in_pipe,MP_READ,0);

if (myOutPipe == INVALID_HANDLE_VALUE || myInPipe == INVALID_HANDLE_VALUE)
    {
        Form1->Edit1->Text="Failed to open data pipes.";
        return;
    } else {Form1->Edit1->Text="Ok";}//end if

BYTE send_buf[64],receive_buf[64];
DWORD RecvLength=4;

#define READ_VERSION 0
send_buf[0] = READ_VERSION; // Command
send_buf[1] = 0x02; // Expected length of the result

if(SendReceivePacket(send_buf,2,receive_buf,&RecvLength,1000,1000) == 1)
{
        Label9->Caption=receive_buf[0]+receive_buf[1]*256;
        Label10->Caption=receive_buf[2]+receive_buf[3]*256;
}
else {Form1->Edit1->Text="USB Operation Failed";}


// Let's close the data pipes since we have nothing left to do..
MPUSBClose(myOutPipe);
MPUSBClose(myInPipe);
myOutPipe = myInPipe = INVALID_HANDLE_VALUE;


}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char str[20];
WORD res1, res2, i=0, j=0;
LoadDLL();
if ((fp = fopen("test.txt", "wt")) == NULL) {}

myOutPipe = MPUSBOpen(0,vid_pid,out_pipe,MP_WRITE,0);
myInPipe = MPUSBOpen(0,vid_pid,out_pipe,MP_READ,0);


if (myOutPipe == INVALID_HANDLE_VALUE || myInPipe == INVALID_HANDLE_VALUE)
    {
        Form1->Edit1->Text="Failed to open data pipes.";
        return;
    }//end if
BYTE send_buf[64],receive_buf[64];
DWORD RecvLength=4;
double ADRES,ADRES2;
send_buf[0] = 0x37;      // Read ch1....
send_buf[1] = 0x02;              // Expected length of the result
Form1->ProgressBar1->Max=atoi(Form1->ComboBox1->Text.c_str())*500;
while (myOutPipe != INVALID_HANDLE_VALUE && myInPipe != INVALID_HANDLE_VALUE && i<=atoi(Form1->ComboBox1->Text.c_str())*500) {
//MPUSBRead(myInPipe,receive_buf, 64,&RecvLength, 1000);
SendReceivePacket(send_buf,2,receive_buf,&RecvLength,1000,1000);
        j=0;
        //for (j=0; j<64; j+=1)  {
        res1=receive_buf[0]+receive_buf[1]*256;
        res2=receive_buf[2]+receive_buf[3]*256;
        fprintf(fp, "%d",res1);
        fprintf(fp, "%c",9);
        fprintf(fp, "%d\n",res2);
        /*fprintf(fp, "%c",9); }
        fprintf(fp, "%d",receive_buf[j]);
        fprintf(fp, "%c",9);   }
        fprintf(fp, "%d",i);*/
        Form1->ProgressBar1->Position=i;
        i++;
        }
Form1->ProgressBar1->Position=0;
    MPUSBClose(myOutPipe);
    MPUSBClose(myInPipe);
    myOutPipe = myInPipe = INVALID_HANDLE_VALUE;
fclose(fp);

open();
}

PM MAIL   Вверх
Данкинг
Дата 16.5.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



А MPUSBAPI  - это что?

Добавлено через 1 минуту и 8 секунд
Цитата(ГЫнок @  16.5.2009,  18:04 Найти цитируемый пост)
Написал программку на CBuilder'е. 

Ты уверен, что сам её написал? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ГЫнок
Дата 16.5.2009, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Виноват неправильно выразился эту часть только редактировал  smile 
а остальное которое щас скрыто сам будьте уверены!!  smile 

А по поводу ошибки очень сглупил  smile , заыл на тот компутер одну дллку перекинуть, после все заработало....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.