Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3

TWideStringDynArray и DLL

28.07.2020, 00:29. Показов 1278. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Хочу в массив TWideStringDynArray в функции dll собрать список файлов директории, но получаю ошибку:
C++
1
'System::__linkproc__ __fastcall LStrAsg(System::AnsiStringT<0>&, System::AnsiStringT<0>)'
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.07.2020, 00:29
Ответы с готовыми решениями:

Ошибка об отсутствии MSVCP140D.dll, ucrtbased.dll, CONCRT140D.dll, VCRUNTIME140D.dll
Добрый день, товарищи. Возникла проблема. Делаю программу с использованием openCV 3.1 на Visual Studio 2013. При компиляции выдает ошибку...

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями?
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

Затупил, скажите где взять libmysqld.dll, libmysqld50.dll, libmysqld51.dll
Вечер добрый, ставлю ZEOS на Delphi 7, и для нормальной работы нужны файлы libmysqld.dll, libmysqld50.dll, libmysqld51.dll. Но я нигде...

9
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33412 / 21522 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
28.07.2020, 09:36
Все новое - хорошо забытое старое.
Ошибка в dll с классом AnsiString
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
28.07.2020, 10:43  [ТС]
Дык, функция использует WideString.....потому у меня не возникло подозрений к этому (если где то там внутри не используется анси).
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33412 / 21522 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
28.07.2020, 11:03
Цитата Сообщение от Dinkin Посмотреть сообщение
Дык, функция использует WideString...
Ну, и, разумеется, WideString - это вообще не класс VCL, правда?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
28.07.2020, 11:17  [ТС]
Хорошо, такой вопрос "абстрактный"...те кто пишет dll в других средах (QT, Delphi,lazarus)...
*такие же проблемы с dll?
*и отдельно вопрос для QT, там точно такой же синтаксис при написании DLL, как и в билдере?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33412 / 21522 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
28.07.2020, 11:30
У всех проблемы с DLL, если они хотят оттуда работать с классами из определенного фреймворка/библиотеки. Ты все, что говорит DLL Wizard по поводу строк - выполнил? Тогда пили минимальный проект, который воспроизводит проблему, посмотрим, что ты делаешь, и что можно сделать...
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
28.07.2020, 12:12  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Тогда пили минимальный проект,
Понял, спасибо!
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
29.07.2020, 15:42  [ТС]
Цитата Сообщение от Dinkin Посмотреть сообщение
Тогда пили минимальный проект
Хочу вернуть список файлов, в DLL будет впихнуты критерии отбора файлов. конечно можно сделать через FindFirst, но если есть уже библиотека для этого.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vcl.h>
#include <fstream>
#include <iostream>
#include <windows.h>
 
#include <IOUtils.hpp>
 
extern "C" TWideStringDynArray _declspec(dllexport) SearchFiles(std::wstring folder);
//----------------------------------------------------------
extern "C" int _libmain(unsigned long reason)
{
    return 1;
}
//----------------------------------------------------------
TWideStringDynArray _export SearchFiles(std::wstring folder)
{
    //Основная функция для поиска файлов по маске
    TWideStringDynArray my_files = TDirectory::GetFiles(folder.c_str(), "*.*", TSearchOption::soAllDirectories);
 
    return  my_files;
}
//----------------------------------------------------------
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33412 / 21522 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
29.07.2020, 19:02
Лучший ответ Сообщение было отмечено Dinkin как решение

Решение

Откуда ты взял, что TDirectory::GetFiles умеет возвращать TWideStringDynArray - я не знаю, нет такого в списке перегрузок на официальном сайте, для TStringDynArray - прекрасно все собирается (и работает) после того, как к проекту (и к DLL, и к приложению) добавлены rtl.lib + memmgr.lib. Проверялось на XE4, где-то валялась еще и 10.1, но это надо другой комп перезагружать под Windows, а мне лениво, он уже почти полгода под Linux-ом беспробудно (домашний сервер же).
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
30.07.2020, 01:21  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Откуда ты взял, что TDirectory::GetFiles умеет возвращать TWideStringDynArray
Не знаю.

Цитата Сообщение от volvo Посмотреть сообщение
как к проекту (и к DLL, и к приложению) добавлены rtl.lib + memmgr.lib.
Да, только теперь

C++
1
Error: Unresolved external '__fastcall System::Masks::MatchesMask(System::UnicodeString, System::UnicodeString)'

Не по теме:


Цитата Сообщение от volvo Посмотреть сообщение
а мне лениво,
И не надо и так много уже чем помогли =) Пускай на нем луче фильмы крутятся =)



Добавлено через 28 минут
Цитата Сообщение от Dinkin Посмотреть сообщение
Да, только теперь
ПФФФ, сделал Clear проекта и все собралось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.07.2020, 01:21
Помогаю со студенческими работами здесь

Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll
В связи с тем, что часто возникают одни и те же вопросы, а в нете копаться никто не любит привожу перевод буржуйской вики по отлучению...

Точка входа в процедуру InitializeCriticalSectionEx не найдена в библиотеке DLL KERNEL32.dll
Здравствуйте, коллеги! Случилась такая вещь. Малолетний внук что-то нажимал на клаве, выключил компьютер. Сейчас при запуске выходит...

MinGW - скомпилированная программа требует наличия libstdc++-6.dll и libgcc_s_seh-1.dll
Добрый день. При компиляции с помощью Visual Studio программа не требует никаких dll, можно ли в данном случае обойтись без них? Весят...

Создание .dll и присоеденение .dll к проекту путем непосредственного написания кода
Здравствуйте, дорогие форумчане! Я прекрасно знаю, как создавать и прикреплять к проекту .dll файлы при помощи опций компилятора в Visual...

Точка входа в процедуру SMaplS_IP_EBP_12 не найдена в библиотеке DLL KERNEL 32 dll
при запуске игрули появлялось окно не найден файл xlive.dll...нашел в нэте..скачал..теперь появляется окно с надписью &quot;Точка входа в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru