Virpil 271 Posted June 2, 2010 (edited) Всем привет. ------ Построение начато: проект: 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 June 2, 2010 by Virpil Quote Share this post Link to post Share on other sites
gosha-z 32 Posted June 2, 2010 Ну там все написано. Убей .pch - компилятор сам его сделает нужной версии. Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 2, 2010 Ок, спробую дома. Не гуру :blink: Было еще такое предложение: переименуйте файл в .cpp или отключите в настройках компилятора "Use precompiled header" Quote Share this post Link to post Share on other sites
Mihail Stepanov 784 Posted June 2, 2010 Ок, спробую дома. Не гуру Было еще такое предложение: переименуйте файл в .cpp или отключите в настройках компилятора "Use precompiled header" Дима, раскажи что задумал. Широкой аудитории тоже будет интересно :-) Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 2, 2010 Дима, раскажи что задумал. 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 с экспортом символов. Quote Share this post Link to post Share on other sites
Mihail Stepanov 784 Posted June 2, 2010 OFF <Кругозор Миш расширяю> OFF ================================ c:\documents and settings\администратор\рабочий стол\sample_c++\pkp.attitude.cc(48) : warning C4603: PITCH_LIMIT: макрос не определен или определение изменилось после Слушай, Дим. Я конечно не знаю, почему у тебя не клеится. Но кое что замечу. У меня в сценостроительстве не компилилось пару раз из за того, что всё хозяйство лежало в папке с длинными русскими именами. В результате компилятор что -то где-то не находил. Чтобы наверняка, кидай лучше в C:\ISH_PRIB например, лучше без пробелов. Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 3, 2010 (edited) Не помогло. Знатоки, что скажете? Сегодня при компиле 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 June 3, 2010 by Virpil Quote Share this post Link to post Share on other sites
gosha-z 32 Posted June 3, 2010 Ну вот BuildLog и покажи, он для этого и пишется. Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 3, 2010 Не смог я восстановить тот проект, лог другой сейчас: <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> Quote Share this post Link to post Share on other sites
icebear 604 Posted June 4, 2010 (edited) fatal error C1014: слишком много включаемых файлов: глубина = 1024 сюда смотрел? ещё хотел добавить. тут в файлах лежит оверхед тамагочи с исходниками от anton_il, он тоже это всё писал в студии 2К8 насколько я знаю. качни, сделай копию и выкини все его файла оттуда и вставь свои. будешь использовать как образец создания проекта в студии для написания гауг. а вообще весь код проекта сюда. там много косяков именно в самих файлах по ходу, не только в настройках проекта. по выводу компилятора трудно колдовать. Edited June 4, 2010 by icebear Quote Share this post Link to post Share on other sites
Max999 69 Posted June 5, 2010 Не помогло. Знатоки, что скажете? Сегодня при компиле VS2008++ выдал вот этот перл: И общий: Где-нить описано как прально собрать DLL именно для использования ее симом? Может, Вам из консоли попробовать компилировать? С помощью make-файла? Quote Share this post Link to post Share on other sites
serg_p 599 Posted June 5, 2010 (edited) Может, Вам из консоли попробовать компилировать? С помощью make-файла? Я бы все же посоветовал затратить столько времени, сколько нужно для того, что бы въехать в среду Visual C++ и в то, как строятся, а затем компилятся и отлаживаются C/C++ программы. Я, например, не представляю, как можно что-то делать серьезно хотя бы без отладки. Так же достаточно явственно помню все неудобства, связанные с неиспользованием раздельной компиляции (Обычно начинающие приборостроители это делают наряду с тем, что для компиляции и сборки пользуются make-файлами, просто потому, что в примере в SDK используется только make-файл). Т.е. стоит сначала освоить инструмент, хоть как-то, а уж потом пробовать клепать приборы. Ну и естественно, так же предварительно стоит приобрести, хоть какие-то инженерные знания по изготавливаемым приборам. А то получится, как часто получается в случае с XML приборами (не во всех случаях), по причине невозможности программирования на этом языке сложной логики. Просто анимированные картинки, пусть даже и красивые. Edited June 5, 2010 by serg_p Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 5, 2010 а вообще весь код проекта сюда. там много косяков именно в самих файлах по ходу, не только в настройках проекта. по выводу компилятора трудно колдовать. Некомпилированный шаблон кода проекта студии прицепил в архив ниже. Заранее спасибо за корректировку. Может, Вам из консоли попробовать компилировать? С помощью make-файла? Я новичек в приборостроении. Хотел воспроизвести шаблон SDK FS9, в части касаемой только ихнего авиагоризонта для Цес. Здесь писалось о том, что при комиляции из студии make-file можно "отпустить", а постигнуть на этапе хочется пока именно среду. shablon_a.zip Quote Share this post Link to post Share on other sites
serg_p 599 Posted June 5, 2010 (edited) Дим, это просто заготовка dll. До gau ей еще далеко. В свое время я делал пример для Андрея акка icebear. Не знаю на сколько он помог ему. Посмотри, может быть поможет в чем-то разобраться. gau_sample.zip Edited June 5, 2010 by serg_p Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 5, 2010 это просто заготовка dll. Есть и сама сборка. В ней файлы только того, что предложил MS. Она получилась объемной и авсим ее не подцепил. Я удалил из проекта файл типа VC++ Intellisense Database и сжал максимально. Попробую разобраться в твоем проекте, Серег. Пасиб pkpgau.zip Quote Share this post Link to post Share on other sites
serg_p 599 Posted June 5, 2010 (edited) Хехе, а вот и причина ошибки "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 June 6, 2010 by serg_p Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 5, 2010 В свое время я делал пример для Андрея акка 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> Quote Share this post Link to post Share on other sites
serg_p 599 Posted June 5, 2010 (edited) Ругается на 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 June 5, 2010 by serg_p Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 6, 2010 (edited) Вобщем вернулся снова к посту #32. Error PRJ0002. Может снести к чертям эту платформу SDK ? Edited June 6, 2010 by Virpil Quote Share this post Link to post Share on other sites
serg_p 599 Posted June 6, 2010 Дим, здесь нужно точно понимать, что происходит. Но опыта и знаний для этого слишком мало. Форум не поможет тебе их приобрести. Только книги и твоя задница. И движение от простого к сложному. Забудь пока про приборы. (Если хочешь писать приборы на С) Пройди для начала по какой-нибудь "мурзилке", которая учит писать проги на VC с полной проработкой примеров. Поверь, на освоение C/C++ уходят годы. Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 6, 2010 И тут ты прав. Quote Share this post Link to post Share on other sites
icebear 604 Posted June 7, 2010 (edited) Вобщем вернулся снова к посту #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 June 7, 2010 by icebear Quote Share this post Link to post Share on other sites
FortRoss 8 Posted June 7, 2010 Исходник .rc файла покажи Quote Share this post Link to post Share on other sites
Virpil 271 Posted June 7, 2010 Ребят, перенес сюда Quote Share this post Link to post Share on other sites
Krit 0 Posted November 28, 2011 Люди, как можно на лету получить картинку с гаги? Т.е., массив пикселов типа DIB. Мне надо взять картинку с гаги (всё, что в текущий момент там нарисовано) и продублировать в файл, например. Я вот нашел в "case PANEL_SERVICE_POST_DRAW": PELEMENT_STATIC_IMAGE pelement = (PELEMENT_STATIC_IMAGE)(pgauge->elements_list[0]); Структура интересная, имеет поля типа: ... HBITMAP hbmp; ... PIMAGE save_buffer; ... , но они практически все равны NULL. Quote Share this post Link to post Share on other sites