2016-03-22 2 views
1

Почему следующая программа производит сообщение об ошибке во время выполнения "Error (R3): Вызов функции без определения: INIT"Как исправить ошибку «Вызов функции без определения!: Init» на языке программирования Ring?

load "guilib.ring" 
new qApp() { 
    new qWidget() { 
     setWindowTitle("First App!") 
     resize(400,400) 
     show() 
    } 
    exec() 
} 

ответ

1

Следующий код будет исправить вашу проблему

Load "guilib.ring" 
New qApp { 
    New qWidget() { 
     setWindowTitle("First App!") 
     resize(400,400) 
     show() 
    } 
    exec() 
} 

Использование() после того, как имя класса означает вызов метода init() в классе и передачу параметров этому методу с помощью(), в то время как метод init() в классе не генерирует сообщение об ошибке выполнения.

класс qApp не имеет этого метода, в то время как другие классы имеют его, потому что им нужно создать объект, используя функцию, которая возвращает указатель на этот объект, и этот указатель будет храниться в атрибуте pObject, для более подробную информацию см. в файле ring_qt.ring, который содержит классы.

+1

Спасибо, поэтому мы используем() только тогда, когда в классе есть функция init(). –