NativeOnDragDetected / SetBrush Error

Hi there I am Beginner I’m sorry if I made a mistake in my writing.

I want to Create Widget and Drag+Drop with NativeOnDragDetected() But I have two problem

  1. Crash SetBrush
    new Create Widget->SetBrush is Crash
    but Original old Widget->SetBrush is Not Crash

  2. No Create DragDropWidget
    Widgets need to be created when dragging, but cannot be created
    Clearly It worked when I used Blueprint
    but it doesn’t come up when I used C++

void UItemSlot::NativeOnDragDetected(const FGeometry & InGeometry, const FPointerEvent & InMouseEvent, UDragDropOperation *& OutOperation)
{
	Super::NativeOnDragDetected(InGeometry, InMouseEvent, OutOperation);


	if (IsValid(DraggedImage))
	{
		UDraggedItem* DI = CreateWidget<UDraggedItem>(this);
		DI->SetOwningPlayer(GetOwningPlayer());


		// Crash 
		//DI->SlotImage->SetBrush(UWidgetBlueprintLibrary::MakeBrushFromTexture(ActionImage));
	
		// No Crash
		this->SlotImage->SetBrush(UWidgetBlueprintLibrary::MakeBrushFromTexture(DraggedImage));

		UItemDrag* ItemDrag = Cast<UItemDrag>(UWidgetBlueprintLibrary::CreateDragDropOperation(UItemDrag::StaticClass()));
		if (IsValid(ItemDrag))
		{
			
			ItemDrag->DefaultDragVisual = DI;
			ItemDrag->Pivot = EDragPivot::MouseDown;
			OutOperation = ItemDrag;
		}
	}
	
}

UMG

I resolved
My.h
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TSubclassOf DraggedClass;

My.cpp
UDraggedItem* DI = CreateWidget(this, DraggedClass);
DI->SetOwningPlayer(GetOwningPlayer());

It was a simple mistake, so I solved it quickly.
So I forgot to write it on the forum.
I hope you don’t make the same mistake as me. :melting_face: