purebasic.info

PureBasic forum
Текущее время: Пт окт 19, 2018 11:03 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Вт мар 18, 2014 9:00 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Procedure _SetWindowIcon(Window,ImageID)
 CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows  
    If IsImage(ImageID)
     ImageID=ImageID(CatchImage(#PB_Any,ImageID))
    EndIf
    SendMessage_(WindowID(Window),#WM_SETICON,#False,ImageID)
 CompilerCase #PB_OS_Linux  
   UsePNGImageDecoder()
    ImageID=ImageID(CatchImage(#PB_Any, ImageID))
     gtk_window_set_icon_(WindowID(Window), ImageID)
     
CompilerEndSelect  
EndProcedure  
 
If OpenWindow(0, 50, 50, 150, 50, "Icon Test", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  IconHandle=ExtractIcon_(0,"c:\windows\system32\shell32.dll",10)
  _SetWindowIcon(0,IconHandle)
  ;_SetWindowIcon(0,?WindowIcon)
EndIf
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
    End
 
    DataSection
      WindowIcon:
     IncludeBinary "C:\1.ico"
    EndDataSection



Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вт мар 18, 2014 9:44 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Так что ли?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Procedure _SetWindowIcon(Window,ImageID)
  CompilerSelect #PB_Compiler_OS
    CompilerCase #PB_OS_Windows  
      SendMessage_(WindowID(Window),#WM_SETICON,#False,ImageID)
    CompilerCase #PB_OS_Linux  
      gtk_window_set_icon_(WindowID(Window), ImageID)
  CompilerEndSelect  
EndProcedure  
 
If OpenWindow(0, 50, 50, 150, 50, "Icon Test", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  IconHandle=ExtractIcon_(0,"c:\windows\system32\shell32.dll",10)
  _SetWindowIcon(0,IconHandle)
 
  ;_SetWindowIcon(0,?WindowIcon) ;Так не заработает!
  _SetWindowIcon(0, CatchImage(1,?WindowIcon))
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
 
DataSection
  WindowIcon:
 IncludeBinary "C:\1.ico"
EndDataSection


_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вт мар 18, 2014 1:36 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Цитата:
Так что ли?
Нет, надо различить а не указать.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт авг 14, 2014 7:43 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Вот что то вроде этого нужно было, все бы хорошо, только иногда очень редко ошибки выдает. На этой строке "Protected *MemoryID = AllocateMemory(ImageID)". Чтобы это могло быт?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Procedure _SetWindowIcon(Window,ImageID)
 Protected Img
  Protected *MemoryID = AllocateMemory(ImageID)
   If *MemoryID :Img = CatchImage(#PB_Any,ImageID)
      If IsImage(Img)
        Img = ImageID(Img)
      Else
        Img = ImageID
      EndIf  
     FreeMemory(*MemoryID)
   EndIf
   CompilerSelect #PB_Compiler_OS
     CompilerCase #PB_OS_Windows  
       
      SendMessage_(WindowID(Window),#WM_SETICON,#False,Img)
    CompilerCase #PB_OS_Linux  
      gtk_window_set_icon_(WindowID(Window), Img)
   CompilerEndSelect  
EndProcedure  
 
Icon=ExtractIcon_(0,"c:\windows\system32\shell32.dll",101)
 
If OpenWindow(0, 50, 50, 150, 50, "Icon Test", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget)
  _SetWindowIcon(0, ?Icon)
EndIf
 
If OpenWindow(10, 350, 50, 150, 50, "Icon Test2", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget)
 _SetWindowIcon(10,Icon)
EndIf
 
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
 
DataSection
     Icon:
    Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$20,$00,$68,$04,$00,$00,$16,$00
     Data.b $00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00,$00,$00,$01,$00,$20,$00,$00,$00
     Data.b $00,$00,$00,$04,$00,$00,$12,$0B,$00,$00,$12,$0B,$00,$00,$00,$00,$00,$00,$00,$00
     Data.b $00,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D,$0D,$00,$09,$09
     Data.b $09,$00,$05,$05,$05,$00,$04,$04,$04,$3F,$04,$04,$04,$8A,$04,$04,$04,$3F,$05,$05
     Data.b $05,$00,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
     Data.b $13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D
     Data.b $0D,$00,$09,$09,$09,$00,$06,$06,$06,$3F,$05,$05,$05,$8A,$DB,$CB,$CB,$FF,$05,$05
     Data.b $05,$8A,$06,$06,$06,$3F,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11
     Data.b $11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
     Data.b $13,$00,$0D,$0D,$0D,$00,$0A,$0A,$0A,$3E,$09,$09,$09,$89,$DB,$CF,$CF,$FF,$D7,$C8
     Data.b $C8,$FF,$DB,$CF,$CF,$FF,$09,$09,$09,$89,$0A,$0A,$0A,$3E,$0D,$0D,$0D,$00,$13,$13
     Data.b $13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11
     Data.b $11,$00,$13,$13,$13,$00,$0E,$0E,$0E,$3D,$0D,$0D,$0D,$87,$D1,$C9,$C9,$FF,$43,$40
     Data.b $40,$A5,$D0,$C4,$C4,$FF,$43,$40,$40,$A5,$D1,$C9,$C9,$FF,$0D,$0D,$0D,$87,$0E,$0E
     Data.b $0E,$3D,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$14,$14
     Data.b $14,$63,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$CB,$C7,$C7,$FF,$46,$43
     Data.b $43,$A3,$06,$06,$06,$7B,$C9,$C0,$C0,$FF,$06,$06,$06,$7B,$46,$43,$43,$A3,$CB,$C7
     Data.b $C7,$FF,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$14,$14,$14,$63,$FF,$FF
     Data.b $FF,$00,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$48,$47
     Data.b $47,$A1,$18,$18,$18,$3B,$01,$01,$01,$6B,$C2,$BD,$BD,$FF,$01,$01,$01,$6B,$18,$18
     Data.b $18,$3B,$48,$47,$47,$A1,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19
     Data.b $19,$82,$FF,$FF,$FF,$00,$1F,$1F,$1F,$7F,$B1,$B1,$B1,$DF,$D4,$D4,$D4,$FF,$4C,$4B
     Data.b $4B,$9F,$1E,$1E,$1E,$4C,$0D,$0D,$0D,$00,$00,$00,$00,$67,$BD,$BB,$BB,$FF,$00,$00
     Data.b $00,$67,$0D,$0D,$0D,$00,$1E,$1E,$1E,$4C,$4C,$4B,$4B,$9F,$D4,$D4,$D4,$FF,$B1,$B1
     Data.b $B1,$DF,$1F,$1F,$1F,$7F,$FF,$FF,$FF,$00,$26,$26,$26,$7C,$F0,$F0,$F0,$FF,$BC,$BC
     Data.b $BC,$DF,$DD,$DD,$DD,$FF,$26,$26,$26,$7C,$14,$14,$14,$00,$02,$02,$02,$70,$BB,$BB
     Data.b $BB,$FF,$02,$02,$02,$70,$14,$14,$14,$00,$26,$26,$26,$7C,$DD,$DD,$DD,$FF,$BC,$BC
     Data.b $BC,$DF,$F0,$F0,$F0,$FF,$26,$26,$26,$7C,$FF,$FF,$FF,$00,$2C,$2C,$2C,$5B,$2D,$2D
     Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$18,$18,$18,$00,$04,$04
     Data.b $04,$7A,$BD,$BE,$BE,$FF,$04,$04,$04,$7A,$18,$18,$18,$00,$2C,$2C,$2C,$5B,$2D,$2D
     Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$FF,$FF,$FF,$00,$2D,$2D
     Data.b $2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$04,$04
     Data.b $04,$5D,$04,$04,$04,$7C,$C3,$C4,$C4,$FF,$04,$04,$04,$7C,$04,$04,$04,$5D,$23,$23
     Data.b $23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D,$2D,$00,$FF,$FF
     Data.b $FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$00,$00
     Data.b $00,$00,$00,$00,$00,$77,$DC,$DD,$DD,$FF,$C3,$C4,$C4,$FF,$DC,$DD,$DD,$FF,$00,$00
     Data.b $00,$77,$00,$00,$00,$00,$23,$23,$23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D
     Data.b $2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$00,$00
     Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$4D,$00,$00,$00,$6E,$D5,$D6,$D6,$FF,$00,$00
     Data.b $00,$6E,$00,$00,$00,$4D,$00,$00,$00,$00,$00,$00,$00,$00,$2E,$2E,$2E,$00,$2E,$2E
     Data.b $2E,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$23,$23,$23,$00,$0C,$0C
     Data.b $0C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4B,$AA,$AA,$AA,$CB,$DE,$DF
     Data.b $DF,$FF,$AA,$AA,$AA,$CB,$00,$00,$00,$4B,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$0C
     Data.b $0C,$00,$23,$23,$23,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$23,$23,$23,$00,$12,$12
     Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$66,$E7,$E7
     Data.b $E7,$FF,$06,$06,$06,$7A,$E7,$E7,$E7,$FF,$12,$12,$12,$66,$12,$12,$12,$00,$12,$12
     Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$23,$23,$23,$00,$FF,$FF,$FF,$00,$33,$33
     Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33
     Data.b $33,$59,$C3,$C3,$C3,$CA,$ED,$ED,$ED,$FF,$C3,$C3,$C3,$CA,$33,$33,$33,$59,$33,$33
     Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$FF,$FF
     Data.b $FF,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
     Data.b $4B,$00,$4E,$4E,$4E,$14,$50,$50,$50,$59,$50,$50,$50,$66,$50,$50,$50,$59,$4E,$4E
     Data.b $4E,$14,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
     Data.b $4B,$00,$FF,$FF,$FF,$00,$FC,$7F,$00,$00,$F8,$3F,$00,$00,$F0,$1F,$00,$00,$E0,$0F
     Data.b $00,$00,$00,$01,$00,$00,$00,$01,$00,$00,$04,$41,$00,$00,$04,$41,$00,$00,$04,$41
     Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F
     Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00
    IconEnd:
   EndDataSection



Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт авг 14, 2014 8:29 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11299
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Объясни что зачем здесь выделяется и освобождается память?
Код:
1
2
3
4
5
6
7
8
9
  Protected *MemoryID = AllocateMemory(ImageID)
   If *MemoryID :Img = CatchImage(#PB_Any,ImageID)
      If IsImage(Img)
        Img = ImageID(Img)
      Else
        Img = ImageID
      EndIf  
     FreeMemory(*MemoryID)
   EndIf



mestnyi писал(а):
иногда очень редко ошибки выдает. На этой строке "Protected *MemoryID = AllocateMemory(ImageID)".
Какие именно ошибки мы должны догадаться?
Для начала, Purifier включи и запусти прогу.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт авг 14, 2014 10:51 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Добавил лишнюю процедуру для проверки памяти, но теперь ошибок вообще не возникает (10/10 запуск успешный)
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Procedure.b TestMemory(*Pointer) ; Проверка доступности для процесса указаного участка памяти.
  Protected mbi.MEMORY_BASIC_INFORMATION
  Protected Result.b = #False, dwWrote
 
  dwWrote = VirtualQuery_(*Pointer, @mbi, SizeOf(MEMORY_BASIC_INFORMATION))
  If dwWrote
    If mbi\BaseAddress+mbi\RegionSize >= *Pointer+1
      If mbi\Protect & (#PAGE_READONLY | #PAGE_READWRITE | #PAGE_EXECUTE_READ | #PAGE_EXECUTE_READWRITE)
        Result = #True
      EndIf
    EndIf
  EndIf
 
  ProcedureReturn Result
EndProcedure
 
Procedure _SetWindowIcon(Window, ImageID)
  Protected Img, res
 
  If TestMemory(ImageID) ;Если это метка
    res = CatchImage(#PB_Any, ImageID)
  EndIf
 
  If res = 0
    Img = ImageID
  Else
    Img = ImageID(res)
  EndIf
 
  CompilerSelect #PB_Compiler_OS
    CompilerCase #PB_OS_Windows
      SendMessage_(WindowID(Window),#WM_SETICON,#False,Img)
    CompilerCase #PB_OS_Linux
      gtk_window_set_icon_(WindowID(Window), Img)
  CompilerEndSelect  
EndProcedure  
 
Icon=ExtractIcon_(0,"c:\windows\system32\shell32.dll",101)
 
If OpenWindow(0, 50, 50, 150, 50, "Icon Test", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget)
  _SetWindowIcon(0, ?Icon)
EndIf
 
If OpenWindow(10, 350, 50, 150, 50, "Icon Test2", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget)
  _SetWindowIcon(10,Icon)
EndIf
 
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
 
DataSection
  Icon:
 Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$20,$00,$68,$04,$00,$00,$16,$00
  Data.b $00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00,$00,$00,$01,$00,$20,$00,$00,$00
  Data.b $00,$00,$00,$04,$00,$00,$12,$0B,$00,$00,$12,$0B,$00,$00,$00,$00,$00,$00,$00,$00
  Data.b $00,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D,$0D,$00,$09,$09
  Data.b $09,$00,$05,$05,$05,$00,$04,$04,$04,$3F,$04,$04,$04,$8A,$04,$04,$04,$3F,$05,$05
  Data.b $05,$00,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
  Data.b $13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D
  Data.b $0D,$00,$09,$09,$09,$00,$06,$06,$06,$3F,$05,$05,$05,$8A,$DB,$CB,$CB,$FF,$05,$05
  Data.b $05,$8A,$06,$06,$06,$3F,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11
  Data.b $11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
  Data.b $13,$00,$0D,$0D,$0D,$00,$0A,$0A,$0A,$3E,$09,$09,$09,$89,$DB,$CF,$CF,$FF,$D7,$C8
  Data.b $C8,$FF,$DB,$CF,$CF,$FF,$09,$09,$09,$89,$0A,$0A,$0A,$3E,$0D,$0D,$0D,$00,$13,$13
  Data.b $13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11
  Data.b $11,$00,$13,$13,$13,$00,$0E,$0E,$0E,$3D,$0D,$0D,$0D,$87,$D1,$C9,$C9,$FF,$43,$40
  Data.b $40,$A5,$D0,$C4,$C4,$FF,$43,$40,$40,$A5,$D1,$C9,$C9,$FF,$0D,$0D,$0D,$87,$0E,$0E
  Data.b $0E,$3D,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$14,$14
  Data.b $14,$63,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$CB,$C7,$C7,$FF,$46,$43
  Data.b $43,$A3,$06,$06,$06,$7B,$C9,$C0,$C0,$FF,$06,$06,$06,$7B,$46,$43,$43,$A3,$CB,$C7
  Data.b $C7,$FF,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$14,$14,$14,$63,$FF,$FF
  Data.b $FF,$00,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$48,$47
  Data.b $47,$A1,$18,$18,$18,$3B,$01,$01,$01,$6B,$C2,$BD,$BD,$FF,$01,$01,$01,$6B,$18,$18
  Data.b $18,$3B,$48,$47,$47,$A1,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19
  Data.b $19,$82,$FF,$FF,$FF,$00,$1F,$1F,$1F,$7F,$B1,$B1,$B1,$DF,$D4,$D4,$D4,$FF,$4C,$4B
  Data.b $4B,$9F,$1E,$1E,$1E,$4C,$0D,$0D,$0D,$00,$00,$00,$00,$67,$BD,$BB,$BB,$FF,$00,$00
  Data.b $00,$67,$0D,$0D,$0D,$00,$1E,$1E,$1E,$4C,$4C,$4B,$4B,$9F,$D4,$D4,$D4,$FF,$B1,$B1
  Data.b $B1,$DF,$1F,$1F,$1F,$7F,$FF,$FF,$FF,$00,$26,$26,$26,$7C,$F0,$F0,$F0,$FF,$BC,$BC
  Data.b $BC,$DF,$DD,$DD,$DD,$FF,$26,$26,$26,$7C,$14,$14,$14,$00,$02,$02,$02,$70,$BB,$BB
  Data.b $BB,$FF,$02,$02,$02,$70,$14,$14,$14,$00,$26,$26,$26,$7C,$DD,$DD,$DD,$FF,$BC,$BC
  Data.b $BC,$DF,$F0,$F0,$F0,$FF,$26,$26,$26,$7C,$FF,$FF,$FF,$00,$2C,$2C,$2C,$5B,$2D,$2D
  Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$18,$18,$18,$00,$04,$04
  Data.b $04,$7A,$BD,$BE,$BE,$FF,$04,$04,$04,$7A,$18,$18,$18,$00,$2C,$2C,$2C,$5B,$2D,$2D
  Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$FF,$FF,$FF,$00,$2D,$2D
  Data.b $2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$04,$04
  Data.b $04,$5D,$04,$04,$04,$7C,$C3,$C4,$C4,$FF,$04,$04,$04,$7C,$04,$04,$04,$5D,$23,$23
  Data.b $23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D,$2D,$00,$FF,$FF
  Data.b $FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$00,$00
  Data.b $00,$00,$00,$00,$00,$77,$DC,$DD,$DD,$FF,$C3,$C4,$C4,$FF,$DC,$DD,$DD,$FF,$00,$00
  Data.b $00,$77,$00,$00,$00,$00,$23,$23,$23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D
  Data.b $2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$00,$00
  Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$4D,$00,$00,$00,$6E,$D5,$D6,$D6,$FF,$00,$00
  Data.b $00,$6E,$00,$00,$00,$4D,$00,$00,$00,$00,$00,$00,$00,$00,$2E,$2E,$2E,$00,$2E,$2E
  Data.b $2E,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$23,$23,$23,$00,$0C,$0C
  Data.b $0C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4B,$AA,$AA,$AA,$CB,$DE,$DF
  Data.b $DF,$FF,$AA,$AA,$AA,$CB,$00,$00,$00,$4B,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$0C
  Data.b $0C,$00,$23,$23,$23,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$23,$23,$23,$00,$12,$12
  Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$66,$E7,$E7
  Data.b $E7,$FF,$06,$06,$06,$7A,$E7,$E7,$E7,$FF,$12,$12,$12,$66,$12,$12,$12,$00,$12,$12
  Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$23,$23,$23,$00,$FF,$FF,$FF,$00,$33,$33
  Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33
  Data.b $33,$59,$C3,$C3,$C3,$CA,$ED,$ED,$ED,$FF,$C3,$C3,$C3,$CA,$33,$33,$33,$59,$33,$33
  Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$FF,$FF
  Data.b $FF,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
  Data.b $4B,$00,$4E,$4E,$4E,$14,$50,$50,$50,$59,$50,$50,$50,$66,$50,$50,$50,$59,$4E,$4E
  Data.b $4E,$14,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
  Data.b $4B,$00,$FF,$FF,$FF,$00,$FC,$7F,$00,$00,$F8,$3F,$00,$00,$F0,$1F,$00,$00,$E0,$0F
  Data.b $00,$00,$00,$01,$00,$00,$00,$01,$00,$00,$04,$41,$00,$00,$04,$41,$00,$00,$04,$41
  Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F
  Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00
  IconEnd:
EndDataSection


_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт авг 14, 2014 2:47 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Никита Однороб
Цитата:
TestMemory
В линуксе будет работать? Или в линуксе это не нужно, сам проверил бы но нету возможности. :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт авг 14, 2014 5:46 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Не будет. Тебе обязательно кросплатформ?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт авг 15, 2014 7:46 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Цитата:
Тебе обязательно кросплатформ?
да, это одна из причин выбора пурика.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс авг 17, 2014 4:22 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 618
Благодарил (а): 2 раз.
Поблагодарили: 34 раз.
Пункты репутации: 9
Действительно зачем выделять непонятное количесво памяти,ведь это адрес(ссылка) в аргументе от дата секции:?:


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс авг 17, 2014 8:51 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Цитата:
Действительно зачем выделять непонятное количесво памяти,ведь это адрес(ссылка) в аргументе от дата секции:?:
И что это значить как можно это дело решить?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс авг 17, 2014 9:22 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11299
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
mestnyi писал(а):
И что это значить как можно это дело решить?
Лично мне не понятно назначение этой строки в твоем коде.
mestnyi писал(а):
Код:
1
Protected *MemoryID = AllocateMemory(ImageID)

Объясни, зачем это надо?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс авг 17, 2014 10:34 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 773
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Цитата:
Объясни, зачем это надо?
что бы различить указатель от хендла, а что можно по другому, я что то не вижу примера.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс авг 17, 2014 10:41 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
AllocateMemory принимает один параметр - число (количество байтов). Дело в том, что и хендл, и метка являются числом. Т.е. по большому счету нельзя так отличать ИМХО. И хендл и метка это числа, только вроде разного диапазона

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс авг 17, 2014 11:10 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11299
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
mestnyi писал(а):
что бы различить указатель от хендла, а что можно по другому, я что то не вижу примера.
И что метод реально работает?
Точно определяет где указатель, а где хендл?
Код:
1
2
3
4
hWnd=OpenWindow(0,0,0,0,0,"")
x:
Debug AllocateMemory(hWnd)
Debug AllocateMemory(?x)

Как по возвращаемому результату функции AllocateMemory узнать где указатель, а где хендл?

И скажу так, по секрету, хендл в большинстве случаев является указателем.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB