|
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
|
|||||||||||||||||||||
Передать данные из 1 формы в другую25.01.2012, 17:48. Показов 6520. Ответов 7
Метки нет (Все метки)
Да, знаю, избитый вопрос. Я прочитал эту тему, решил сделать 5 способом (использовать свойство "родитель"), однако возникла проблема с переписыванием шарпного кода на c++/CLI. Я написал так:
Form1.h
error C2065: Form1: необъявленный идентификатор error C2065: form1: необъявленный идентификатор error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "as" error C2065: as: необъявленный идентификатор error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Form1" Вобщем, студия понимать эту строку категорически отказалась, а когда попробовать написать #include "Form1.h" То студия начала ругаться на Test^ test=gcnew Test(); Ошибка 1 error C2065: Test: необъявленный идентификатор Ошибка 2 error C2065: test: необъявленный идентификатор Ошибка 3 error C2061: синтаксическая ошибка: идентификатор "Test" Ну и так далее, остальные 15 ошибок. Теперь 2 проблема. Когда пытаюсь подключить хедер с классом который должен использоваться в этой форме получаю: Ошибка 1 error C2011: MyClass: переопределение типа "class" Ошибка 2 error C2011: MyClass1: переопределение типа "class" Ошибка 3 error C2027: использование неопределенного типа "MyClass1" Классы объявлены как:
0
|
|||||||||||||||||||||
| 25.01.2012, 17:48 | |
|
Ответы с готовыми решениями:
7
Передать данные с одной формы на другую Передать данные RichTextBox с одной формы в другую Как передать данные из одной формы в другую |
|
1857 / 1363 / 429
Регистрация: 10.06.2011
Сообщений: 2,136
|
||||||||||||||||
| 25.01.2012, 18:28 | ||||||||||||||||
|
DartLenin, у C++ и C# синтаксис отличается. Например в C++ отсутствует оператор as.
В C++ нужно прописывать инклюды для подключения других файлов. Только насколько я понимаю, вам нужно из Form1 вызвать Test. Тогда в файле Form1.h вам нужно прописать
Но если вам нужно использовать одну и туже переменную в двух формах одновременно, то передавайте указатель на неё через конструктор. С проблемой №2 я не понял. Видимо вы слишком балуетесь с инклюдами.
1
|
||||||||||||||||
|
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
|
|
| 25.01.2012, 22:17 [ТС] | |
|
Со 2 проблемой разобрался, у меня просто в form1.h включался test.h и header.h и я пытался в test.h еще раз включить header.h. Убрал инклуд header.h из form1.h и заработало. По поводу передачи, я понимаю что различаются, но я не знал как переделать в синтаксис C++/CLI и поэтому оставил в синтаксисе С#. Мне просто было интересно реализовать именно тот способ (через owner) средствами C++/CLI. Но если аналогов этой конструкции в C++/CLI нет, то попробую другие способы.
0
|
|
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
||||||
| 25.01.2012, 22:34 | ||||||
|
DartLenin, в качестве альтернативы оператору as в C# в C++/CLI можно пользоваться оператором dynamic_cast, он точно так же, как и as, попытается привести выражение к требуемому типу, а в случае неудачи вернёт nullptr.
0
|
||||||
|
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
|
|
| 25.01.2012, 22:55 [ТС] | |
|
Пишет:
error C2680: Form1 ^: недопустимый целевой тип для dynamic_cast
0
|
|
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
||||||||||||||||||||||||||||||||||||
| 25.01.2012, 23:59 | ||||||||||||||||||||||||||||||||||||
|
DartLenin, небольшой минимально работающий пример на эту тему:
Если разносить это всё по разным файлам .h/.cpp, то получится приблизительно так: MainForm.h
DialogForm.h
MainForm.cpp
DialogForm.cpp
main.cpp
2
|
||||||||||||||||||||||||||||||||||||
|
Комп_Оратор)
|
||
| 26.01.2012, 00:30 | ||
|
Посмотрите пост от Casper-SC от 17.12.2011, 14:13.
Owner->Text Но, видимо, не имея инфы о структуре экземпляра адресовать другие его члены не удается. Посмотрите пост от Casper-SC от 17.12.2011, 14:13.
0
|
||
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
||||||
| 26.01.2012, 00:37 | ||||||
|
IGPIGP, ошибка "error C2680: Form1 ^: недопустимый целевой тип для dynamic_cast" может возникать, когда тип, в который ведётся преобразование ещё не определён, иными словами, когда есть нечто вроде объявления, но без определения внутренностей
0
|
||||||
| 26.01.2012, 00:37 | |
|
Помогаю со студенческими работами здесь
8
Как из одной формы передать данные в другую? Передать fileName из одной формы в другую Как передать в метод формы данные из другой формы? Передать данные из первой формы во вторую Передать данные с одной формы в другую Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|