Jump to content
Sign in to follow this  
FortRoss

Вопросы по созданию приборов на С++

Recommended Posts

Всем привет.

 

------ Построение начато: проект: SDK, Конфигурация: Debug Win32 ------
Компиляция...
SDK.Attitude.c
c:\documents and settings\администратор\рабочий стол\panels_sdk\sample\sdk.attitude.c : fatal error C1853: файл 
предкомпилированного заголовка "Debug\SDK.pch" создан в предыдущей версии компилятора или предкомпилированный заголовок 
C++ используется из C (или наоборот)
Журнал построения был сохранен в "file://c:\Documents and Settings\Администратор\Рабочий стол\SDK\SDK\Debug\BuildLog.htm"
SDK - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0==========

 

 

Собсно,подскажите, на что ругается компилятор VS++2008. С расширением файла чёт не то, или настройки?

Edited by Virpil

Share this post


Link to post
Share on other sites

Ну там все написано. Убей .pch - компилятор сам его сделает нужной версии.

Share this post


Link to post
Share on other sites

Ок, спробую дома. Не гуру :blink: Было еще такое предложение:

переименуйте файл в .cpp или отключите в настройках компилятора "Use precompiled header"  

Share this post


Link to post
Share on other sites

Ок, спробую дома. Не гуру smile.gif Было еще такое предложение:

переименуйте файл в .cpp или отключите в настройках компилятора "Use precompiled header"  

 

 

Дима, раскажи что задумал. Широкой аудитории тоже будет интересно :-)

Share this post


Link to post
Share on other sites

Дима, раскажи что задумал.

 

OFF <Кругозор Миш расширяю> :) OFF

 

================================

 

Теперь по существу: После переименования и отключения опции "Use precompiled header" стала выдавать два предупреждения и ошибку. ИМХО, похоже ссылается на ресурс. Где ошибка?

 

------ Построение начато: проект: PKP, Конфигурация: Debug Win32 ------
Компиляция...
stdafx.cpp
Компиляция...
PKP.cpp
PKP.Attitude.cc
c:\documents and settings\администратор\рабочий стол\sample_c++\pkp.attitude.cc(4) : warning C4627: #include "PKP.Attitude.cpp": пропущен при поиске использования предкомпилированного заголовка
       Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
c:\documents and settings\администратор\рабочий стол\sample_c++\pkp.attitude.cc(48) : warning C4603: PITCH_LIMIT: макрос не определен или определение изменилось после использования предкомпилированного заголовка
       Добавление макроопределения в предкомпилированный заголовок вместо определения его здесь
       c:\documents and settings\администратор\рабочий стол\sample_c++\pkp.attitude.cc(110): использование предкомпилированного заголовка
Создание кода...
Компиляция...
dllmain.cpp
Компиляция ресурсов...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation.  All rights reserved.
..\..\..\sample_c++\PKP.h(30) : fatal error RC1004: unexpected end of file found
Журнал построения был сохранен в "file://c:\Documents and Settings\Администратор\Рабочий стол\Project1\PKP\PKP\Debug\BuildLog.htm"
PKP - ошибок 1, предупреждений 2
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

 

4-я, 48-я строка кода и дерево на скринах. Проект Win32 DLL с экспортом символов.

post-1325-127548318434_thumb.jpg

post-1325-127548319907_thumb.jpg

post-1325-127548321282_thumb.jpg

Share this post


Link to post
Share on other sites

OFF <Кругозор Миш расширяю> smile.gif OFF

 

================================

 

c:\documents and settings\администратор\рабочий стол\sample_c++\pkp.attitude.cc(48) : warning C4603: PITCH_LIMIT: макрос не определен или определение изменилось после

 

 

Слушай, Дим. Я конечно не знаю, почему у тебя не клеится. Но кое что замечу.

У меня в сценостроительстве не компилилось пару раз из за того, что всё хозяйство лежало в папке с длинными русскими именами.

В результате компилятор что -то где-то не находил.

Чтобы наверняка, кидай лучше в C:\ISH_PRIB например, лучше без пробелов.

Share this post


Link to post
Share on other sites

Не помогло. Знатоки, что скажете? Сегодня при компиле VS2008++ выдал вот этот перл:

 

------ Построение начато: проект: PKP, Конфигурация: Debug Win32 ------
Компиляция ресурсов...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation.  All rights reserved.
..\..\..\Documents and Settings\
Проект : error PRJ0002 : Результат ошибки 1 возвращен из "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe".
Журнал построения был сохранен в "file://c:\MY_GAU\PKP_GAU\PKP\Debug\BuildLog.htm"
PKP - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

 

MS Platform SDK for Windows Server 2003 SP1 на которую ссылается компиль, установлена отдельной прогой в Program Files, и шла кажись вместе с установкой VS2008++ с сервера MS. (могу ошибаться)

 

И общий: Где-нить описано как прально собрать DLL именно для использования ее симом?

Edited by Virpil

Share this post


Link to post
Share on other sites

Ну вот BuildLog и покажи, он для этого и пишется.

Share this post


Link to post
Share on other sites

Не смог я восстановить тот проект, лог другой сейчас:

 

<html>

<head>

<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">

</head>

<body>

<pre>

<table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3>

Журнал построения

</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>

<h3>Построение начат: проект: PKP, .Конфигурация: Debug|Win32</h3>

</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>

Командные строки

</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Создание временного файла "c:\MY_GAU\PKPGAU\PKP\Debug\RSP00003235802532.rsp" с содержимым

[

/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PKP_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug\PKP.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP .\PKP.cpp

]

Создаю командную строку "cl.exe @c:\MY_GAU\PKPGAU\PKP\Debug\RSP00003235802532.rsp /nologo /errorReport:prompt"

Создание временного файла "c:\MY_GAU\PKPGAU\PKP\Debug\RSP00003335802532.rsp" с содержимым

[

/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PKP_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Yc"stdafx.h" /Fp"Debug\PKP.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP .\stdafx.cpp

]

Создаю командную строку "cl.exe @c:\MY_GAU\PKPGAU\PKP\Debug\RSP00003335802532.rsp /nologo /errorReport:prompt"

Создание временного файла "c:\MY_GAU\PKPGAU\PKP\Debug\RSP00003435802532.rsp" с содержимым

[

/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PKP_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP .\dllmain.cpp

]

Создаю командную строку "cl.exe @c:\MY_GAU\PKPGAU\PKP\Debug\RSP00003435802532.rsp /nologo /errorReport:prompt"

</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>

Окно выходных данных

</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Компиляция...

stdafx.cpp

Компиляция...

PKP.cpp

c:\my_gau\pkpgau\pkp\pkp.cpp(5) : fatal error C1014: слишком много включаемых файлов: глубина = 1024

</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>

Результаты

</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Журнал построения был сохранен в "file://c:\MY_GAU\PKPGAU\PKP\Debug\BuildLog.htm"

PKP - ошибок 1, предупреждений 0

</pre></table><table width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>

</font></table></body></html>

Share this post


Link to post
Share on other sites

fatal error C1014: слишком много включаемых файлов: глубина = 1024

 

сюда смотрел?

 

ещё хотел добавить. тут в файлах лежит оверхед тамагочи с исходниками от anton_il, он тоже это всё писал в студии 2К8 насколько я знаю. качни, сделай копию и выкини все его файла оттуда и вставь свои. будешь использовать как образец создания проекта в студии для написания гауг.

 

 

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

Edited by icebear

Share this post


Link to post
Share on other sites

Не помогло. Знатоки, что скажете? Сегодня при компиле VS2008++ выдал вот этот перл:

И общий: Где-нить описано как прально собрать DLL именно для использования ее симом?

Может, Вам из консоли попробовать компилировать? С помощью make-файла?

Share this post


Link to post
Share on other sites

Может, Вам из консоли попробовать компилировать? С помощью make-файла?

Я бы все же посоветовал затратить столько времени, сколько нужно для того, что бы въехать в среду Visual C++ и в то, как строятся, а затем компилятся и отлаживаются C/C++ программы.

Я, например, не представляю, как можно что-то делать серьезно хотя бы без отладки.

Так же достаточно явственно помню все неудобства, связанные с неиспользованием раздельной компиляции (Обычно начинающие приборостроители это делают наряду с тем, что для компиляции и сборки пользуются make-файлами, просто потому, что в примере в SDK используется только make-файл).

 

Т.е. стоит сначала освоить инструмент, хоть как-то, а уж потом пробовать клепать приборы.

Ну и естественно, так же предварительно стоит приобрести, хоть какие-то инженерные знания по изготавливаемым приборам.

А то получится, как часто получается в случае с XML приборами (не во всех случаях), по причине невозможности программирования на этом языке сложной логики.

Просто анимированные картинки, пусть даже и красивые.

Edited by serg_p

Share this post


Link to post
Share on other sites

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

Некомпилированный шаблон кода проекта студии прицепил в архив ниже. Заранее спасибо за корректировку.

 

Может, Вам из консоли попробовать компилировать? С помощью make-файла?

Я новичек в приборостроении. Хотел воспроизвести шаблон SDK FS9, в части касаемой только ихнего авиагоризонта для Цес. Здесь писалось о том, что при комиляции из студии make-file можно "отпустить", а постигнуть на этапе хочется пока именно среду.

shablon_a.zip

Share this post


Link to post
Share on other sites

Дим, это просто заготовка dll.

До gau ей еще далеко.

В свое время я делал пример для Андрея акка icebear.

Не знаю на сколько он помог ему.

Посмотри, может быть поможет в чем-то разобраться.

gau_sample.zip

Edited by serg_p

Share this post


Link to post
Share on other sites

это просто заготовка dll.

Есть и сама сборка. В ней файлы только того, что предложил MS. Она получилась объемной и авсим ее не подцепил. Я удалил из проекта файл типа VC++ Intellisense Database и сжал максимально. Попробую разобраться в твоем проекте, Серег. Пасиб :)

pkpgau.zip

Share this post


Link to post
Share on other sites

Хехе, а вот и причина ошибки "fatal error C1014: слишком много включаемых файлов: глубина = 1024"

// PKP.cpp
// (С) All right reserved. 2100

#include "stdafx.h"
#include "PKP.cpp"

Файл инклудит сам себя.

Скорее всего там должно было быть

#include "PKP.h"

Нужно понять одно правило.

Файлы с расширением c/cpp - тело, собственно реализация, код.

Файлы с расширением h являются в первую очередь интерфейсом, механизмом, предоставляющим возможность вызывать функции, которые реализованы (запрограммированы) в c/cpp файле. Каждый c/cpp файл компилится в отдельный obj файл. Собственно раздельная компиляция. Изменения в одном c/cpp файле не приводят к перекомпиляции других c/cpp файлов. Все obj файлы собираются в процессе компоновки уже конкретно в exe, dll и т.д.

 

P.S.

Небольшое замечание по раздельной компиляции.

Так как сделано в примере из SDK ни в коем случае не приводит к раздельной компиляции отдельных С-файлов.

Когда один или несколько c/cpp файлов включаются в другой c/cpp файл через #include - для компилятора это выглядит, как один c/cpp файл и компилит он все это в один obj-файл. Т.е. здесь нет никакой раздельной компиляции.

Это ничего, когда файлов наберется штук 5, а когда их за 100 - это просто ужос.

Edited by serg_p

Share this post


Link to post
Share on other sites

В свое время я делал пример для Андрея акка icebear.

Не знаю на сколько он помог ему.

Посмотри, может быть поможет в чем-то разобраться.

 

Сереж, собрал твой пример, и подправил свой. Компиль стал выдавать одинаковую ошибку для обоих проектов ссылаясь в .cpp-файлах на 4590-ю строку "головного" GAUGE.H. Только для твоего ошибка повторяется 4 раза тк там 4-е .cpp. Приведу нынешний лог своего проекта:

 

<html>
<head>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">
</head>
<body>
<pre>
<table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3>
Журнал построения
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>
<h3>Построение начат: проект: PKP, .Конфигурация: Debug|Win32</h3>
</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
Командные строки
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Создание временного файла "c:\MY_GAU\PKP_GAU\PKP\Debug\RSP0000012203808.rsp" с содержимым 
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PKP_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug\PKP.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP .\PKP.Attitude.cpp
]
Создаю командную строку "cl.exe @c:\MY_GAU\PKP_GAU\PKP\Debug\RSP0000012203808.rsp /nologo /errorReport:prompt"
Создание временного файла "c:\MY_GAU\PKP_GAU\PKP\Debug\RSP0000022203808.rsp" с содержимым 
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PKP_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP .\dllmain.cpp
]
Создаю командную строку "cl.exe @c:\MY_GAU\PKP_GAU\PKP\Debug\RSP0000022203808.rsp /nologo /errorReport:prompt"
</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
Окно выходных данных
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Компиляция...
PKP.Attitude.cpp
c:\my_gau\pkp_gau\pkp\gauges.h(4589) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
Результаты
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Журнал построения был сохранен в "file://c:\MY_GAU\PKP_GAU\PKP\Debug\BuildLog.htm"
PKP - ошибок 1, предупреждений 0
</pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
</font></table></body></html>

 

и твоего:

 

<html>
<head>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">
</head>
<body>
<pre>
<table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3>
Журнал построения
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>
<h3>Построение начат: проект: SAMPLE, .Конфигурация: Debug|Win32</h3>
</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
Командные строки
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Создание временного файла "c:\MY_GAU\SAMPLE_11\SAMPLE\Debug\RSP00000512002044.rsp" с содержимым 
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "SAMPLE_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug\SAMPLE.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP "..\..\..\Documents and Settings\Администратор\Рабочий стол\gau_sample\logic.cpp"

"..\..\..\Documents and Settings\Администратор\Рабочий стол\gau_sample\gau_sample.cpp"

"..\..\..\Documents and Settings\Администратор\Рабочий стол\gau_sample\fuel.cpp"

"..\..\..\Documents and Settings\Администратор\Рабочий стол\gau_sample\cl_logic.cpp"
]
Создаю командную строку "cl.exe @c:\MY_GAU\SAMPLE_11\SAMPLE\Debug\RSP00000512002044.rsp /nologo /errorReport:prompt"
Создание временного файла "c:\MY_GAU\SAMPLE_11\SAMPLE\Debug\RSP00000612002044.rsp" с содержимым 
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "SAMPLE_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP .\dllmain.cpp
]
Создаю командную строку "cl.exe @c:\MY_GAU\SAMPLE_11\SAMPLE\Debug\RSP00000612002044.rsp /nologo /errorReport:prompt"
</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
Окно выходных данных
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Компиляция...
cl_logic.cpp
c:\documents and settings\администратор\рабочий стол\gau_sample\gauges.h(4590) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
fuel.cpp
c:\documents and settings\администратор\рабочий стол\gau_sample\gauges.h(4590) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
gau_sample.cpp
c:\documents and settings\администратор\рабочий стол\gau_sample\gauges.h(4590) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
logic.cpp
c:\documents and settings\администратор\рабочий стол\gau_sample\gauges.h(4590) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Создание кода...
</pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
Результаты
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Журнал построения был сохранен в "file://c:\MY_GAU\SAMPLE_11\SAMPLE\Debug\BuildLog.htm"
SAMPLE - ошибок 4, предупреждений 0
</pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
</font></table></body></html>

Share this post


Link to post
Share on other sites

Ругается на 4590-ую строку в gauges.h.

 

gauges.h - это собственно основной файл API с симом. Писался он еще при царе Горохе. Старые компиляторы (пример изначально я делал в 2003-ей студии), спокойно подменяли пропущенный тип переменной или тип возвращаемого значения функцией, на тип int. Не помню уже, с какой версии VС компилятор перестал подставлять int вместо пропущенного типа и стал считать не указание типа ошибкой. В принципе правильно. Не указывать тип переменной или возвращаемого значения функцией, есть очень нехорошее дело. Вообще, небрежное обращение с типами данных, в определенной ситуации, может сыграть в последствии очень злую шутку.

Хотя, если очень надо, то ошибку эту можно отключить.

 

Интересно, что у меня то все сейчас скомпилилось и студия у меня такая же, 2008-ая. Не пойму, наверное, после какого-то обновления экспресс VC, у меня компилятор стал лояльным к этой ошибке.

 

Замени 4590-ую строку в gauges.h

typedef (*GAUGE_KEY_EVENT_HANDLER) (ID32 event, UINT32 evdata, PVOID userdata);

на вот эту строку.

typedef int (*GAUGE_KEY_EVENT_HANDLER) (ID32 event, UINT32 evdata, PVOID userdata);

Здесь объявляется функциональный тип данных, т.е. тип - указатель на функцию с таким-то списком параметров и таким-то возвращаемым значением. В исходном варианте пропущен тип возвращаемого значения функции.

Edited by serg_p

Share this post


Link to post
Share on other sites

Вобщем вернулся снова к посту #32. Error PRJ0002. Может снести к чертям эту платформу SDK ?

Edited by Virpil

Share this post


Link to post
Share on other sites

Дим, здесь нужно точно понимать, что происходит.

Но опыта и знаний для этого слишком мало.

Форум не поможет тебе их приобрести.

Только книги и твоя задница.

И движение от простого к сложному.

Забудь пока про приборы.

(Если хочешь писать приборы на С)

Пройди для начала по какой-нибудь "мурзилке", которая учит писать проги на VC с полной проработкой примеров.

 

Поверь, на освоение C/C++ уходят годы.

Share this post


Link to post
Share on other sites

И тут ты прав.

Share this post


Link to post
Share on other sites

Вобщем вернулся снова к посту #32. Error PRJ0002. Может снести к чертям эту платформу SDK ?

 

проблема снова в файле ресурсов (.rc), который мы ещё не видели :) кинь прямо сюда его код, он небольшой.

 

и ещё, добавлю от себя по поводу с/сpp и h файлов: файлы h по сути можно опускать, они для удобства (что бы не бегать по километровому исходнику в поисках декларации той или иной функции) или для работы с библиотеками, где реализация просто скрыта.

 

 

и ещё, может последние посты с проблемами ide переместить вот сюда http://www.avsim.su/forum/topic/85531-davayte-eshyo-raz-pogovrim-o-sozdanii-priborov-na-si/ ?

Edited by icebear

Share this post


Link to post
Share on other sites

Исходник .rc файла покажи

Share this post


Link to post
Share on other sites

Ребят, перенес сюда

Share this post


Link to post
Share on other sites

Люди, как можно на лету получить картинку с гаги? Т.е., массив пикселов типа DIB.

Мне надо взять картинку с гаги (всё, что в текущий момент там нарисовано) и продублировать в файл, например.

 

Я вот нашел в "case PANEL_SERVICE_POST_DRAW":

			PELEMENT_STATIC_IMAGE pelement = (PELEMENT_STATIC_IMAGE)(pgauge->elements_list[0]);

Структура интересная, имеет поля типа:

...
HBITMAP	  hbmp;
...
PIMAGE	  save_buffer;
...

, но они практически все равны NULL. :(

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...