81050


Golangのfyneで簡単なGUIメモアプリ作りたいですが、「Save」を押すとエラーが出ました。

[![画像の説明をここに入力](https://i.stack.imgur.com/yDil1.png)](https://i.stack.imgur.com/yDil1.png)

エラー：

[code]

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x70dbed]
    
    goroutine 26 [running]:
    fyne.io/fyne/v2/dialog.(*fileDialog).makeUI.func2()
    /home/kotoharu/go/src/fyne.io/fyne/v2/dialog/file.go:104 +0x34d
    fyne.io/fyne/v2/widget.(*Button).Tapped(0xc0000c0320, 0xc000dfd300)
    /home/kotoharu/go/src/fyne.io/fyne/v2/widget/button.go:177 +0x74
    fyne.io/fyne/v2/internal/driver/glfw.(*window).mouseClicked.func7()
    /home/kotoharu/go/src/fyne.io/fyne/v2/internal/driver/glfw/window.go:802 +0x38
    fyne.io/fyne/v2/internal/driver/glfw.(*window).runEventQueue(0xc0001201c0)
    /home/kotoharu/go/src/fyne.io/fyne/v2/internal/driver/glfw/window.go:1268 +0x7a
    created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).createWindow.func1
    /home/kotoharu/go/src/fyne.io/fyne/v2/internal/driver/glfw/window.go:1292 +0x113
    exit status 2
    
[/code]

コード：

[code]

    package main
    
    import (
        "fyne.io/fyne/v2"
        "fyne.io/fyne/v2/theme"
        "fyne.io/fyne/v2/app"
        "fyne.io/fyne/v2/widget"
        "fyne.io/fyne/v2/layout"
        "fyne.io/fyne/v2/dialog"
    )
    
    func main() {
        myApp := app.New()
        myApp.Settings().SetTheme(theme.DarkTheme())
    
        window := myApp.NewWindow("text-pad")
        window.Resize(fyne.NewSize(640, 480))
    
        le := widget.NewMultiLineEntry()
        le.SetPlaceHolder("enter")
    
        //Button
        bt := widget.NewButton("save as", func () {
            saveDialog := dialog.NewFileSave(nil, window)
            saveDialog.Show()
        })
    
        box := fyne.NewContainerWithLayout(
            layout.NewBorderLayout(nil, bt, nil, nil),
            le, bt,
        )
    
        window.SetContent(box)
        window.ShowAndRun()
    
    }
    
[/code]

原因がわかりません、何が間違っているでしょうか?

ありがとうございました


CC BY-SA 4.0
2021-08-25T16:12:05.433
81045
2021-08-26T00:21:05.583
47912
question
go
GolangでfyneのNewFileSaveがエラーが出てました


エラーの原因は callback function として nil を渡しているためです。NewFileSave によれば WriteCloser
を渡します。

[code]

    saveDialog := dialog.NewFileSave(func(f fyne.URIWriteCloser, err error) { if f != nil { f.Write([]byte(le.Text)) } }, window)
    
[/code]


CC BY-SA 4.0
2021-08-26T00:21:05.583
81050
2021-08-26T00:21:05.583
47912
81045
answer