当前位置:网站首页>When opening the system window under UE4 shipping, the problem of crash is attached with the plug-in download address
When opening the system window under UE4 shipping, the problem of crash is attached with the plug-in download address
2022-07-07 15:42:00 【WhiteTian】
Original article , Reprint please indicate the source .
Shipping Next, open the system window and crash
Plug in download link
SelectDialog Plug in download link
Preface
If you encounter normal development (Debug/Develope) It's no problem to call the interface to open the system window , and Shipping If you break down directly , Let's see if it's the same problem .
Description of collapse phenomenon : call FDesktopPlatformModule::Get()->OpenFileDialog To open the interface under different systems , For example, you need to import the model at run time , Import pictures, videos, audio and other functions , You will use this function .
Here's the picture , I want to choose a computer in the program fbx Import the format model . stay dubug Under the normal , The bag that came out collapsed .
How to solve ? What's the reason ?
The code you call should be similar to the following (FDesktopPlatformModuleEx It's one of my packages shipping Plug in for next use .FDesktopPlatformModuleEx::Get())
/* Open the system folder path Parameters 1: File absolute path Parameters 2: file type TEXT("*.*")= All Record : TEXT("FBX,JPG,BMP,PNG files|*.fbx;*.jpg;*.png;*.bmp"); TEXT("FBX Files|*.fbx"); TEXT("JPG,BMP,PNG files|*.jpg;*.png;*.bmp"); TEXT("(Image Files)|*.BMP;*.JPG;*.PNG;*.JPEG;)") */
UFUNCTION(BlueprintCallable, Category = "OpenWindowsFile")
static TArray<FString> OpenWindowsFiles(const FString& sTitle, const FString& sYourFullPath, const FString& sExtensionStr = TEXT("*.*"));
TArray<FString> URegionRiskReadLibrary::OpenWindowsFiles(const FString& sTitle, const FString& sYourFullPath, const FString& sExtensionStr)
{
// List of files selected by the user
TArray<FString> OpenFileNames;
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModuleEx::Get();
if (DesktopPlatform)
{
void* ParentWindowHandle = GEngine->GameViewport->GetWindow()->GetNativeWindow()->GetOSWindowHandle();
DesktopPlatform->OpenFileDialog(ParentWindowHandle, sTitle, sYourFullPath, TEXT(""), *sExtensionStr, EFileDialogFlags::Multiple, OpenFileNames);
}
return OpenFileNames;
}
The reason for the breakdown
Actually, we are shipping The following cannot be quoted Engine in Developer Contents of any module in the folder , This can only be Debug and Develope Next use .
PS:Engine in Developer It refers to the following figure Developer All modules in the folder .
All modules in this folder cannot be in shipping Under the use of , If used , Phenomenon is shipping Downfall , The corresponding supporting documents are not in the bag at all .
You should know what happened here , In fact, it is because you call to open the system window API It belongs to DesktopPlatform modular , Happen to happen DesktopPlatform This module is again Developer Within the scope of .
Solution
Actually, it's simple , That's the top Developer In the folder DesktopPlatform Module and what it uses Related modules ( stay Developer Range ) Copy out , Modify the class name and module name .
See here , I believe you will know how to solve similar problems if you encounter them again .
So I made a plug-in , Tested for 4.25 Each version and 4.26 Each version . Other versions have not been tested .
How does the plug-in work
1> Unzip it and put it into your project Plugins In the folder ;
2> In your build.cs There will be DesktopPlatform Module reference , Replace with DesktopPlatformEx Just name the module ;
3> Get rid of DesktopPlatform The header file contains ;
4> Remember when calling FDesktopPlatformModuleEx::Get(); Put... In your code FDesktopPlatformModule Replace with FDesktopPlatformModuleEx;
/* Open the system folder path Parameters 1: File absolute path Parameters 2: file type TEXT("*.*")= All Record : TEXT("FBX,JPG,BMP,PNG files|*.fbx;*.jpg;*.png;*.bmp"); TEXT("FBX Files|*.fbx"); TEXT("JPG,BMP,PNG files|*.jpg;*.png;*.bmp"); TEXT("(Image Files)|*.BMP;*.JPG;*.PNG;*.JPEG;)") */
UFUNCTION(BlueprintCallable, Category = "OpenWindowsFile")
static TArray<FString> OpenWindowsFiles(const FString& sTitle, const FString& sYourFullPath, const FString& sExtensionStr = TEXT("*.*"));
TArray<FString> URegionRiskReadLibrary::OpenWindowsFiles(const FString& sTitle, const FString& sYourFullPath, const FString& sExtensionStr)
{
// List of files selected by the user
TArray<FString> OpenFileNames;
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModuleEx::Get();
if (DesktopPlatform)
{
void* ParentWindowHandle = GEngine->GameViewport->GetWindow()->GetNativeWindow()->GetOSWindowHandle();
DesktopPlatform->OpenFileDialog(ParentWindowHandle, sTitle, sYourFullPath, TEXT(""), *sExtensionStr, EFileDialogFlags::Multiple, OpenFileNames);
}
return OpenFileNames;
}
thank you , It's not easy to create , Great Xia, please stay … Move your lovely hands , To a Focus on Go bai
ღ( ´・ᴗ・` ) finger heart <( ̄︶ ̄)>
边栏推荐
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
- [server data recovery] a case of RAID data recovery of a brand StorageWorks server
- Gd32 F3 pin mapping problem SW interface cannot be burned
- Configure mongodb database in window environment
- Nacos一致性协议 CP/AP/JRaft/Distro协议
- 【数字IC验证快速入门】18、SystemVerilog学习之基本语法5(并发线程...内含实践练习)
- Webcodecs parameter settings -avc1.42e01e meaning
- Excerpted words
- 连接ftp服务器教程
- [Lanzhou University] information sharing of postgraduate entrance examination and re examination
猜你喜欢

Yunxiaoduo software internal test distribution test platform description document

2022 all open source enterprise card issuing network repair short website and other bugs_ 2022 enterprise level multi merchant card issuing platform source code
![[server data recovery] data recovery case of raid failure of a Dell server](/img/5d/03bc8dcc6e554273b34a78c49a9eaf.jpg)
[server data recovery] data recovery case of raid failure of a Dell server

【兰州大学】考研初试复试资料分享

Gd32 F3 pin mapping problem SW interface cannot be burned

Qu'est - ce qu'une violation de données

OpenGL's distinction and understanding of VAO, VBO and EBO

Zhongang Mining: Fluorite continues to lead the growth of new energy market

Annexb and avcc are two methods of data segmentation in decoding

知否|两大风控最重要指标与客群好坏的关系分析
随机推荐
银行需要搭建智能客服模块的中台能力,驱动全场景智能客服务升级
MongoD管理数据库的方法介绍
Connecting FTP server tutorial
Share the technical details of super signature system construction
The bank needs to build the middle office capability of the intelligent customer service module to drive the upgrade of the whole scene intelligent customer service
【数字IC验证快速入门】25、SystemVerilog项目实践之AHB-SRAMC(5)(AHB 重点回顾,要点提炼)
[Data Mining] Visual Pattern Mining: Hog Feature + cosinus Similarity / K - means Clustering
./ Functions of configure, make and make install
连接ftp服务器教程
Zhongang Mining: Fluorite continues to lead the growth of new energy market
15. Using the text editing tool VIM
全日制研究生和非全日制研究生的区别!
[quick start of Digital IC Verification] 25. AHB sramc of SystemVerilog project practice (5) (AHB key review, key points refining)
Implementation of crawling web pages and saving them to MySQL using the scrapy framework
【目标检测】YOLOv5跑通VOC2007数据集
Super signature principle (fully automated super signature) [Yun Xiaoduo]
Introduction of mongod management database method
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
HPDC smart base Talent Development Summit essay
Whether runnable can be interrupted