выход-состояние-3221225477-в-терминальный-in golang - PullRequest
0 голосов
/ 21 января 2020

, когда я пытаюсь запустить следующий код golang, на терминале выводится «состояние выхода 3221225477». и тогда программа закрылась. Я использую пакет fyne GUI. не могли бы вы помочь мне с этим вопросом. основной пакет

import (
"net/url"
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/layout"
"fyne.io/fyne/theme"
"fyne.io/fyne/widget"
)

func main() {
app := app.New()
app.Settings().SetTheme(theme.LightTheme())
entry := widget.NewEntry()
entry.SetText("Path")

w := app.NewWindow("Hello")

link, err := url.Parse("https://www.inovatian.com/")
if err != nil {
fyne.LogError("Could not parse URL", err)
}

w.SetContent(widget.NewVBox(
widget.NewLabelWithStyle("Welcome to Inovatian App", 
fyne.TextAlignCenter, fyne.TextStyle{Bold: true}),
layout.NewSpacer(),

widget.NewHyperlinkWithStyle("inovatian", link, fyne.TextAlignCenter, 
fyne.TextStyle{}),
layout.NewSpacer(),

widget.NewGroup("",
    fyne.NewContainerWithLayout(layout.NewGridLayout(2),
        widget.NewButton("Next", func() {
            app.Quit()
        }),
        widget.NewButton("Cancel", func() {
            app.Quit()
        }),
      ),
    ),
))
w.CenterOnScreen()
w.Resize(fyne.NewSize(240, 180))
w.ShowAndRun()
}

Ответы [ 2 ]

2 голосов
/ 21 января 2020

Работает на Ubuntu (скриншот ниже).

Согласно this , возвращаемое значение 3221225477 в шестнадцатеричном формате равно 0xC0000005 или STATUS_ACCESS_VIOLATION, что go сообщает как "недопустимый адрес памяти или разыменование нулевого указателя". Так что это может быть проблема в windows версии библиотеки Fyne GUI.

Эта проблема Fyne может быть связана .

app screenshot

1 голос
/ 21 января 2020

Ваш исходный код отлично работает и на MacOS Mojave.

App

Хотя я получаю предупреждение о том, что NSOpenGLContext явно помечен устарел в macOS 10.14. (Это не должно входить в Windows.)

NSOpenGLContext is deprecated

Как сказал Марк, возвращаемое значение 3221225477 в шестнадцатеричном виде - 0xC0000005 («Нарушение доступа») , это означает, что ваша программа аварийно завершилась или завершилась сбоем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...