Страница 1 из 1

Пример накарябал а он падает ...

Добавлено: 02 Сентябрь 2005, 9:33
Admin
Пример вот пишу ошибки с классами.
Это не все, но уже сыпется по непонятной мне причине :(

При закрытии окна говорит - Window is already open
В чем собака порылась?

Код: Выделить всё

                           PROGRAM
                           MAP
                             Main
                             StartWindowProc(STRING ClassAddr)
                           END

SomeClass                  CLASS,TYPE
Wnd                          &Window
Init                         PROCEDURE(Window Wnd)
                           END

SC                         SomeClass

Window WINDOW('Demo'),AT(,,396,243),|
       FONT('MS Sans Serif',8,,FONT:regular),|
       CENTER,ICON('clarion.ico'), |
       GRAY,DOUBLE
     END

  CODE
  START(Main,10000)

!-------------------------------------------------------------
Main                       PROCEDURE
  CODE
  OPEN(Window)
  SC.Init(Window)
  ACCEPT
    CASE ACCEPTED()
    END
    CASE EVENT()
    OF EVENT:OpenWindow
      START(StartWindowProc,10000,ADDRESS(SC))
    END
  END
  CLOSE(Window)

!-------------------------------------------------------------
StartWindowProc            PROCEDURE(STRING ClassAddr)
QWindow WINDOW('Window'),AT(,,155,65),|
        FONT('MS Sans Serif',8,,FONT:regular),|
        CENTER,ICON('clarion.ico'), |
        GRAY,DOUBLE
       STRING('Window'),AT(65,27),USE(?Strings)
       BUTTON('&Close'),AT(55,47,45,14),USE(?Closeb)
     END
S                          &SomeClass
  CODE
  S &= (ClassAddr)
  OPEN(QWindow, S.Wnd)
  ACCEPT
    CASE ACCEPTED()
    OF ?Closeb
      POST(EVENT:CloseWindow)
    END
  END
  OPEN(QWindow)
!-------------------------------------------------------------
SomeClass.Init             PROCEDURE(Window Wnd)
  CODE
  SELF.Wnd &= Window
!-------------------------------------------------------------


Добавлено: 02 Сентябрь 2005, 9:55
softcreator
CODE
S &= (ClassAddr)
OPEN(QWindow, S.Wnd)
ACCEPT
CASE ACCEPTED()
OF ?Closeb
POST(EVENT:CloseWindow)
END
END
OPEN(QWindow)
^^^^^^^^^^^^^
это что - такой прикол? :shock:
или тест на внимательность при использовании Copy-Paste? :)

Добавлено: 02 Сентябрь 2005, 10:46
Admin
Сэнкс! А то тупо пять минут не мог врубиться в чем дело...
Бывает иногда :)

P.S. "Использование Copy-Paste самый главный баг программера" ©