Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Несколько проектов в одном решении. Связь между собой. Правильный путь, он какой?

MS Visual Studio 2013. Есть решение на Си/Си++. В нём два проекта (в дальнейшем может быть и более). В первом проекте писал основную логику и консольный вариант программы. Решил создать второй проект с графическим интерфейсом. Чтобы не копировать файлы из первого проекта, как мне на них ссылаться и подключить ко второму проекту?
Я вижу два пути:
Путь первый.
1. Во втором проекте добавить существующие файлы первого, через пункт меню "Существующий элемент".
2. В настройках проекта в опции "Свойства конфигурации" - "C/C++" - "Доп. каталоги включаемых файлов" прописать каталог с файлами первого проекта.
Работает, но правильно ли так делать?

Путь второй.
1. Вынести всю основную логику в отдельный проект. Тогда будет 3 проекта. Логика, консольная программа, программа с графическим интерфейсом.
2. Собираем проект с логикой как статическую библиотеку.
3. В других проектах указывать стат. библиотеку и заголовочные файлы проекта с логикой.

Суть вопроса, какой наиболее правильный путь работы (не только из выше написанных, а вообще) с множеством проектов, как делать взаимодействие между их файлами. Поделитесь опытом.

Добавлено через 16 часов 18 минут
Так что, неужели никто не знает?
Ответ: Так ведь кому нравится поп, кому попадья, а кому попова дочка. Случаи всякие бывают. Универсально-оптимальный рецепт вряд ли кто посоветует. Надо исходить из особенностей проекта и т.п.
Вопрос: Ошибка автоматического создания wsdl при деплое проекта веб-сервиса на IBM WAS

Доброе время суток.
Уже пол года как занимаюсь разработкой JAX-WS сервисов. И возникла ошибка которую не могу уже пару месяцев победить.
Сначала предоставляю данные о моих средах и IDE и др. парамерах.
Начал разрабатывать на IBM Rational application developer for WebSphere software v9.1.1 (далее RAD) , позже на нем же версии 9.5.
Локально на моем ПК так же установлен сервер WebSphere Application Server v8.5.5.7 (далее WAS), недавно обновленный до 8.5.5.8.
Используется JRE 1.6. Не девовской и тестовой средах конфигурация такая же.
Веб-сервис создавал как говорится, по книжке, а конкретно "Rational Application Developer for WebSphere Software V8 Programming Guide" раздел 14, используя top-down подход,
тоесть сначала создавал голый проект, Dynamic Web Project (Dynamic Web Module version 3.0) в паре с его EAR проектом (EAR version 6.0),
в проект в папку WebContent добавлял новый WSDL файл (протокол выбирал SOAP), описывал в нем объекты, элементы и генерил из него автоматом Java Bean "скелеты" классов (Version of JAX-WB code to be genereted: 2.2).
Создавались автоклассы, я их потом заполнял логикой. Основная логика у меня хранилась в отдельном вручную созданном классе Utils который находится в отдельном пакете, а в автосгенерированном главном классе ...SOAPImpl я уже создавал объект класса Utils,
вызывал нужный мне метод и возвращал результат.
Разработанный таким образом Веб-сервис деплоился на мой локальный WAS в виде EARника, когда я его принудительно паблишил из RADа.
Что бы перенести сервис со своей локальной машины на девовскую или тестовую среду мне достаточно было в RAD экспортировать основной проект в виде war'ника (Export - Web - WAR file)
и потом этот war'ник уже напрямую в девоском/тестовом WAS проинсталировать (раздел WebSphere enterprise applications - Install в консоли WAS). И все было хорошо: после инсталяции можно было зайти в WAS в сам application
и в разделе Web Services Properties - Publish WSDL files и все такое все было хорошо.
Но с развитием проекта он дополнялся новым кодом и т. д. и на определенном этапе когда я обновлял проект на WAS через Update система писала что приложение успешно обновлено, но внутри проекта на WAS раздела Web Services Properties уже не стало,
а в логах обновления/установки появилось следукющее исключение:

Кликните здесь для просмотра всего текста
[12/25/15 1:56:58:664 EET] 00000176 WASWSDLGenera E WSWS7054E: The Web Services Description Language (WSDL) file could not be generated for the com.mld.core.MLDictionariesServiceSOAPImpl Web service implementation class because of the following error: java.lang.Exception: A WSDL Definition could not be generated for the implementation class: com.mld.core.MLDictionariesServiceSOAPImpl
[12/25/15 1:56:58:665 EET] 00000176 WSModuleDescr E WSWS7027E: JAX-WS Service Descriptions could not be correctly built because of the following error: javax.xml.ws.WebServiceException: WSWS7054E: The Web Services Description Language (WSDL) file could not be generated for the com.mld.core.MLDictionariesServiceSOAPImpl Web service implementation class because of the following error: java.lang.Exception: A WSDL Definition could not be generated for the implementation class: com.mld.core.MLDictionariesServiceSOAPImpl
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:268)
at org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.generateWSDL(EndpointDescriptionImpl.java:2084)
at org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.<init>(EndpointDescriptionImpl.java:449)
at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>(ServiceDescriptionImpl.java:401)
at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>(ServiceDescriptionImpl.java:297)
at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(DescriptionFactoryImpl.java:277)
at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescriptionFromDBCMap(DescriptionFactory.java:524)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.buildJAXWSServices(WSModuleDescriptorImpl.java:1389)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl._containsJAXWSWebServices(WSModuleDescriptorImpl.java:550)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.containsJAXWSWebServices(WSModuleDescriptorImpl.java:525)
at com.ibm.ws.websvcs.deploy.WSCacheWriter.writeModuleCache(WSCacheWriter.java:571)
at com.ibm.ws.websvcs.deploy.WSCacheWriter.writeApplicationCache(WSCacheWriter.java:242)
at com.ibm.ws.websvcs.deploy.WSCacheWriter.writeApplicationCache(WSCacheWriter.java:167)
at com.ibm.ws.websvcs.deploy.PersistentStorageInstallSaveTask.performTask(PersistentStorageInstallSaveTask.java:196)
at com.ibm.ws.management.application.sync.AppBinaryProcessor$ExpandApp.expand(AppBinaryProcessor.java:1711)
at com.ibm.ws.management.application.sync.AppBinaryProcessor.postProcessSynchronousExt(AppBinaryProcessor.java:751)
at com.ibm.ws.management.bla.sync.BLABinaryProcessor.postProcess(BLABinaryProcessor.java:599)
at com.ibm.ws.management.bla.sync.BLABinaryProcessor.onChangeCompletion(BLABinaryProcessor.java:476)
at com.ibm.ws.management.bla.sync.BinaryProcessorWrapper.onChangeCompletion(BinaryProcessorWrapper.java:109)
at com.ibm.ws.management.repository.FileRepository.postNotify(FileRepository.java:1938)
at com.ibm.ws.management.repository.FileRepository.update(FileRepository.java:1442)
at com.ibm.ws.management.repository.client.LocalConfigRepositoryClient.update(LocalConfigRepositoryClient.java:189)
at com.ibm.ws.sm.workspace.impl.WorkSpaceMasterRepositoryAdapter.update(WorkSpaceMasterRepositoryAdapter.java:667)
at com.ibm.ws.sm.workspace.impl.RepositoryContextImpl.update(RepositoryContextImpl.java:1998)
at com.ibm.ws.sm.workspace.impl.RepositoryContextImpl.synch(RepositoryContextImpl.java:1946)
at com.ibm.ws.sm.workspace.impl.WorkSpaceImpl.synch(WorkSpaceImpl.java:549)
at com.ibm.ws.console.core.action.SyncWorkSpaceAction$1.run(SyncWorkSpaceAction.java:276)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5477)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5603)
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
at com.ibm.ws.console.core.action.SyncWorkSpaceAction.execute(SyncWorkSpaceAction.java:280)
at org.apache.struts.action.RequestProcessor.processActionPerform(Unknown Source)
at org.apache.struts.action.RequestProcessor.process(Unknown Source)
at org.apache.struts.action.ActionServlet.process(Unknown Source)
at org.apache.struts.action.ActionServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistance(WSCUrlFilter.java:964)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:511)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:332)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:940)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1049)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:717)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:571)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:295)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
Caused by: java.lang.Exception: A WSDL Definition could not be generated for the implementation class: com.mld.core.MLDictionariesServiceSOAPImpl
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:248)
... 71 more


В итоге я не могу сгенерировать автоматом WSDL с пролижения развернутого на WAS. Единственный способ который я нашел - это паблишить проект в WAS напрямую с RAD,
но проект в таком случае паблишиться как EAR. С него можно извлечь WSDL. Но при экспорте этого EAR как с RAD так и с WAS на другую среду и попытку установки возникает такая же ошибка.
Тоесть единственный способ - это деплоить апликейшн прямо с IDE RAD находящегося на той же машине, на которую необходимо установить веб-сервис!!!
Я жил с этим и не тужил, пока не пришла пора менять протокол общения с http на секюрный https, и тут WAS выдал новый прикол:
те проекты котрые установленны на нем как war'ники и которые не менялись и не пострадали от вышеописанной ошибки (в виду редкого изменения),
в них успешно можно поменять протокол в разделе Provide HTTP endpoint URL information на https. Те же проекты по которым выскочила ошибка - такой опции не имеют.
Кроме того те проекты которые были установлены на WAS альтернативным способом через RAD в виде EAR'ников - в них раздел Provide HTTP endpoint URL information присутствует,
но изменить в нем на https не дает. Выходит что единственный способ смены транспортного протокола для задеплоеного веб-сервиса - это что бы он был задеплоен в виде war'ника и задеплоен корректно.
Но описанная в начале сего сообщения ошибка не дает это сделать.
МОжет кто-то сталкивался с подобной ситуацией и знает ее решение?
Может есть способ сказать проекту в IDE RAD что бы он сразу при деплое на сервер паблишился с применением секюрного https протокола?
Прилагаю wsdl и автоклассы проекта.
Ответ: Понял. Спасибо. IBM выбрал не спроста так как разрабатываю проект на базе IBM FileNet P8.
Вопрос: Как изменить имя проекта?

Как изменить имя проекта в делфи? Никак найти не могу...
А то в процессах Project1 светится.
Ответ: Пример для Delphi-7:

Предположим, что проект называется 'Project1'. Предположим, все файлы проекта лежат в подкаталоге 'c:\DelphiProjects\aproject'.
Проект состоит из модуля с главной формой (файл 'Unit1.pas'), использующего еще один модуль с оригинальным названием SuperUnit ('SuperUnit.pas').

1) Открываем проект в Delphi. Если не открыты, открываем все модули (File>Open>'c:\DelphiProjects\aproject\Unit1.pas', File>Open>'c:\DelphiProjects\aproject\Unit1.pas').
2) В проводнике (или где ещё...) создаем директорию для нового проекта, к примеру: 'c:\DelphiProjects\AnotherProject'.
3) В Delphi проверим установки для директорий (Project>Options...>Directories/Conditionals). Там должно быть все чисто, за исключением Aliases.
4) Сохраним из IDE(Delphi7) по очереди все модули проекта в новую директорию (File>Save Ass...>'c:\DelphiProjects\AnotherProject\Unit1.pas', File>Save Ass...>'c:\DelphiProjects\AnotherProject\SuperUnit.pas').
5) Сохраним собственно сам проект туда же (File>Save Project As...> 'c:\DelphiProjects\AnotherProject\NewOneProject.dpr'). Всё. В этом файле, который по сути является главным модулем программы на паскале, Delphi сама сохранит правильные пути ко всем прочим модулям.
6) Теперь, к примеру из проводника, можно попробовать "запустить" файл 'NewOneProject.dpr', лежащий по пути 'c:\DelphiProjects\AnotherProject\'. Если все прошло хорошо, откроется IDE с проектом 'NewOneProject'.

Добавлено через 8 минут
Пример для Delphi-7:

Предположим, что проект называется 'Project1'. Предположим, все файлы проекта лежат в подкаталоге 'c:\DelphiProjects\aproject'.
Проект состоит из модуля с главной формой (файл 'Unit1.pas'), использующего еще один модуль с оригинальным названием SuperUnit ('SuperUnit.pas').

1) Открываем проект в Delphi. Если не открыты, открываем все модули (File>Open>'c:\DelphiProjects\aproject\Unit1.pas', File>Open>'c:\DelphiProjects\aproject\SuperUnit.pas').
2) В проводнике (или где ещё...) создаем директорию для нового проекта, к примеру: 'c:\DelphiProjects\AnotherProject'.
3) В Delphi проверим установки для директорий (Project>Options...>Directories/Conditionals). Там должно быть все чисто, за исключением Aliases.
4) Сохраним из IDE(Delphi7) по очереди все модули проекта в новую директорию (File>Save Ass...>'c:\DelphiProjects\AnotherProject\Unit1.pas', File>Save Ass...>'c:\DelphiProjects\AnotherProject\SuperUnit.pas').
5) Сохраним собственно сам проект туда же, указав при этом его новое имя, которое и будет именем 'exe-шника' (File>Save Project As...> 'c:\DelphiProjects\AnotherProject\NewOneProject.dpr'). Всё. В этом файле, который по сути является главным модулем программы на паскале, Delphi сама сохранит правильные пути (или их отсутствие за ненадобностью)) ко всем прочим модулям.
6) Теперь, к примеру из проводника, можно попробовать "запустить" файл 'NewOneProject.dpr', лежащий по пути 'c:\DelphiProjects\AnotherProject\'. Если все прошло хорошо, откроется IDE с проектом 'NewOneProject'.
Вопрос: Объединить два проекта в один exe

Добрый День.
Я новичок в программирования пишу для себя.
Суть вопроса заключается в следующем, есть Проект (Project) №1 Windows Forms и есть Проект (Project) №2 Windows Forms
Проект (Project) №1 создает базу access с таблицами.
Проект (Project) №2 по суди говоря сама программа, которая работает с базой (вносим данные изменяем и получаем отчеты).
Нашел как к одному Проекту добавить другой в visual studio 2010 могу между ними переключатся и работать, очень удобно. Но когда компилирую не получается их объединить, создается или к 1 Проекту exe или ко 2 проекту.

Вопрос: Как как объединить два проекта в один exe.
хочется добиться следующего запускаю exe он сначала отрабатывает по 1 проекту и его закрывает. а после выполняет установку 2 проект. который и является самой программой.
Ответ:
Сообщение от Yury Komar
тоесть между проектами в решении можно перекидываться информацие обращаясь через
ну да, только надо в том проекте, где будешь обращение делать, в референцах ссылку на другой проект подключать.
Собственно, для этого солюшн не требуется. Просто твой проект должен иметь открытые члены в классах.
А решение (солюшн) это для групповой компиляции нескольких проектов я показывал.
Вопрос: Не получается скомпилировать проект [ILINK32 Error]

вот что я сделал:
установил на новом ноутбуке rad studio, запустил старый проект
скомпелировал, все отлично. захотел изменить название программы (вместо Form1 написал Прога)
не запускается.... rad studio перезапустил, проект заново скинул с флэшки на рабочий стол
открываю проект, компелирую и....
99 ошибок такого типа:
Кликните здесь для просмотра всего текста
[ILINK32 Error] Error: Unresolved external '__fastcall Sysutils::Exception::~Exception()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\PROJECT1.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TApplication::Initialize()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\PROJECT1.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TApplication::SetMainFormOnTaskBar(const const bool)' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\PROJECT1.OBJ
[ILINK32 Error] Error: Unresolved external '__tpdsc__ Forms::TForm' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external 'Forms::TForm::' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Classes::TComponent::SafeCallException(System::TObject *, void *)' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TCustomForm::AfterConstruction()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TCustomForm::BeforeDestruction()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TCustomForm:efaultHandler(void *)' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TCustomForm::~TCustomForm()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TScrollingWinControl::~TScrollingWinControl()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Controls::TWinControl::~TWinControl()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Controls::TControl::~TControl()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Classes::TComponent::~TComponent()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Classes::TPersistent::~TPersistent()' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Controls::TWinControl::AssignTo(Classes::TPersistent *)' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Forms::TCustomForm:efineProperties(Classes::TFiler *)' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ
[ILINK32 Error] Error: Unresolved external '__fastcall Classes::TPersistent::Assign(Classes::TPersistent *)' referenced from C:\USERS\ALEX\DESKTOP\GAL\ПРОЕКТ\DEBUG\WIN32\UNIT2.OBJ


Добавлено через 23 минуты
проблема решена, как образом сам бог не знает
что было сделано:
открыл unit2.cpp
Кликните здесь для просмотра всего текста
//---------------------------------------------------------------------------

#include <vcl.h>
#include <math.h>
#pragma hdrstop

#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
что выделено красным, я изменил на Tform2
программа естетсвенно не запутслась, выдала 2 ошибки. я вернул на TForm, ради инетереса сделал компиляцию - и о чудо!!!!
Ответ: Скорее всего в проекте были файлы, созданные компилятором и линкером. Надо было предварительно сделать Project->Clean ...
Вопрос: Как упаковать проект/решение в архив без лишних телодвижений?

По долгу помощи на этом форуме мне часто приходится прикладывать к сообщениям примеры проектов. Однажды встал передо мной вопрос: как быстро упаковать проект в архив, чтобы в нём содержались все необходимые файлы и, в то же время, не было лишних.
Уже не помню где, но я наткнулся на пример запуска из студии некоего подобия макросов, управление которыми производится из меню Tools→External Tools...:
Как упаковать проект/решение в архив без лишних телодвижений?
Все команды, добавляемые с помощью этого окна, потом появляются в меню Tools:
Как упаковать проект/решение в архив без лишних телодвижений?
Для упаковки я пользуюсь 7zip. Настройки для его запуска выглядят так:
Как упаковать проект/решение в архив без лишних телодвижений?
Аргументы командной строки:
Код Code
1
a -tzip sourceCode.zip -xr!obj -xr!bin -x!sourceCode*.zip -sccWIN
В результате в папке проекта появится архив sourceCode.zip не содержащий каталоги obj, bin и сам архив sourceCode.zip, если он создавался раньше.
Собственно, всё.
Ответ: так же можно добавить в контекстное меню Обозреватель решений. для этого Сервис→Настройка
вкладка Команды там ставим переключатель на контекстное меню и выбираем Контекстное меню проекта и решения | Проект и добавить команду.
Как упаковать проект/решение в архив без лишних телодвижений?
наша команда находится в категории Сервис, а команда Внешняя команда 6(нужно посчитать какой по счету при добавлении)
Как упаковать проект/решение в архив без лишних телодвижений?
теперь наша команда есть и в контекстном меню
Как упаковать проект/решение в архив без лишних телодвижений?
Вопрос: Как скопировать проект в другой проект для дальнейшей работы над новой версией (VS)?

(Visual Studio 2013) Например я сделал один проект, пусть это будет проект версия №1, затем я захотел улучшить проект версии №1 и сделать проект версии №2, на основе первого проекта, вот я создал пустой проект, обозвал его проект версия №2, как мне скопировать из первого проекта все папки, хэдэры и .срр и т.д, можно как-нить это сделать не в ручную? или может я вообще не верно мыслю в создании "много-версиевых" проектах, как вообще обычно это делают профессиональные программисты?
Ответ:
Сообщение от Tulosba
ДЕСАНТУРА, пришла пора ознакомиться с таким понятием как Система Контроля Версий. См. git/perforce/subversion ...
по подробнее если, в чем она заключается?

Добавлено через 2 минуты
Сообщение от zss
А почему не подходит просто скопировать ВСЮ папку проекта и потом переименовать ее в "Проект2"?
Новая версия компилятора сама преобразует проект
Качнул VS2015, там вообще можно без проблем все копировать из одного проекта в другой с учетом иерархии, вообще молодцы разрабы там очень много фишек полезных сделали, в принципе, решил свою проблему этим действием.
Вопрос: Как сделать полную копию проекта (MVC) или правильно построить зависимость проектов?

В общем столкнулся с такой проблемой: решил создать свое ядро под развертывание проектов. Первая тестовая версия готова. Но это голое ядро функционала построенное на базе проекта (Приложение MVC). В общем на базе обычного шаблона, который предлагается в студии. + подключены и настроены нужные библиотеки и фреймворки, Вьшки всего лишь предназначены для отладки вывода данных. Теперь возник главный вопрос как создать другие проекты на основе данного ядра (Приложение MVC). Смысл прост: контроллеры остаются, код тоже, структура БД, но все различие будет только во Вьшках, так как для каждого проекта будет свой шаблон и дизайн. Сохранить как отсутствует - так можно было бы сохранить и прилинковать нужные зависимости, а в новых проектах редактировать вьюшки как нужно. Попробовал тупо папку скопировать... и при запуске проекта ошибки пошли... что следовало и ожидать. Остался другой путь, создать новый проект и собирать в ручную с нуля, то есть вешать библиотеки, и линковать с ядром - это намного дольше чем сделать копию проекта и линковать, плюс так не годиться, если будет окло десятка проектов (банально где то не до глядел и все посыпется). Есть ли другие подходы к данному вопросу?
Ответ: Mihase, ничего не понятно, если честно.

Вам кастомный шаблон для студии нужен? - .
Что за копия проекта? Как у вас после копипаста проекта он не работает?
Какие зависимости вам нужно построить?
Вопрос: Структура проекта (gwt)

Добрый день всем, ребята!
у меня проект один цельный, к нему добавляю еще один, то есть по сути это два разных проекта (с разными назначениями), вопрос, при добавлении нового проекта, разделение классов проводить смешанно со старым проектом или создавать отдельные папки для нового проекта во всех разделах клиент-серверной структуры (например, glob - client/glob, shared/glob, server/glob).
Ответ:
Helen_Cobskee
Добрый день всем, ребята!
у меня проект один цельный, к нему добавляю еще один, то есть по сути это два разных проекта (с разными назначениями), вопрос, при добавлении нового проекта, разделение классов проводить смешанно со старым проектом или создавать отдельные папки для нового проекта во всех разделах клиент-серверной структуры (например, glob - client/glob, shared/glob, server/glob).


Для каждого лучше отдельно + сборка для каждого своя ... при дебаге и отладке будет проще

Если цель - создать один war - то хорошо подумать а нужно ли оно...

а так да : у каждого своя иерархия клиентского когда , они не будут общаться так?

тогда у каждого совой Main.gwt.xml

в нем своя иерархия

<module>
    <inherits name="com.google.gwt.user.User"/>
    <inherits name="com.google.gwt.http.HTTP"/>
    <inherits name="com.sencha.gxt.ui.GXT" />
    <inherits name="com.google.gwt.editor.Editor" />
    <inherits name='com.google.gwt.i18n.I18N' />
     
    <inherits name="пакеты проекта...." />
    <entry-point class="com.testtool.gwt.httpext.client.MainEntryPoint"/>
</module>


а в gwt.properties

сборка всего этого по частям :

просто указать в одну строку через пробел точки входа

и кол-во сборщиков

gwt.compiler.local.workers=4

автор

gwt.module=com.testtool.gwt.httpext.client.MainEntryPoint1 com.testtool.gwt.tcp.client.MainEntryPoint2



gwt.output.dir=/org.yournamehere.Main

# Script output style: OBF[USCATED], PRETTY, or DETAILED
gwt.compiler.output.style=OBF

# Additional JVM arguments for the GWT compiler
gwt.compiler.jvmargs=-Xmx512M

# Specifies the number of local workers to use whe compiling permutations and module(s)
gwt.compiler.local.workers=4

# The level of logging detail: ERROR, WARN, INFO, TRACE, DEBUG,
gwt.compiler.logLevel=INFO

# Script output style: OBF[USCATED], PRETTY, or DETAILED
gwt.shell.output.style=OBF

# The level of logging detail: ERROR, WARN, INFO, TRACE, DEBUG,
gwt.shell.logLevel=WARN

# Additional JVM arguments for the GWT shell/GWT hosted mode (GWT 1.6)
# Add -d32 here and use at least GWT 1.7.1 to debug on a Mac
# (32-bit JVM is required by GWT for debugging before GWT 2.0)
gwt.shell.jvmargs=-Xmx512M

# Java executable that should be used for the GWT Dev mode
# This can be used to choose a 32-bit JVM on a 64-bit OS
# (32-bit JVM is required by GWT for debugging before GWT 2.0)
# Leave the value empty if the default JVM should be used.
gwt.shell.java=

# GWT version: 1.5, 1.6, 1.7, 2.0 or 2.1
gwt.version=2.5

# since GWT 2.0
# Specifies the TCP port for the code server
gwt.shell.code.server.port=9997

# since GWT 2.0
# Specifies the TCP port for the embedded web server
gwt.shell.port=8888

# Additional GWT compiler arguments
# GWT 2.0/2.1 compiler supports these:
# -workDir The compiler's working directory for internal use (must be writeable; defaults to a system temp dir)
# -gen Debugging: causes normally-transient generated types to be saved in the specified directory
# -ea Debugging: causes the compiled output to check assert statements
# -XdisableClassMetadata EXPERIMENTAL: Disables some java.lang.Class methods (e.g. getName())
# -XdisableCastChecking EXPERIMENTAL: Disables run-time checking of cast operations
# -validateOnly Validate all source code, but do not compile
# -draftCompile Enable faster, but less-optimized, compilations
# -compileReport Create a compile report that tells the Story of Your Compile
# -localWorkers The number of local workers to use when compiling permutations
# -extra The directory into which extra files, not intended for deployment, will be written
gwt.compiler.args=-draftCompile

# Additional JVM arguments for JUnit tests
gwt.test.jvmargs=-Xmx512M

# Additional arguments for the GWT shell
# e.g. -bindAddress 0.0.0.0 since GWT 2.0.1
gwt.shell.args=
Вопрос: При добавление новой формы, проект не запускается

При добавление новой формы, проект не запускается. Кнопка запуска не активна ("не удалось разобрать про-файл").

Все получается когда я создаю проект, я ничего не меняю, и сразу добавляю "Класс формы Qt Designer", проект запускается.
Но если я создаю проект, что то меняю в форме "mainwindow.ui", и добавляю "Класс формы Qt Designer", проект не запускается.

Почему так? Так должно быть? Или может я что то неправильно делаю?
Ответ:
Сообщение от feudal
При добавление новой формы, проект не запускается. Кнопка запуска не активна ("не удалось разобрать про-файл").

Все получается когда я создаю проект, я ничего не меняю, и сразу добавляю "Класс формы Qt Designer", проект запускается.
Но если я создаю проект, что то меняю в форме "mainwindow.ui", и добавляю "Класс формы Qt Designer", проект не запускается.

Почему так? Так должно быть? Или может я что то неправильно делаю?
Посмотри куда проект собирается во вкладке проекты. там есть теневая сборка. отключи ее и все будет ок.