Seite 1 von 2
BattlePunks Tutorial Problem
Verfasst: 09.02.2008 13:54
von Beat-Wolle
Hallo PureBoard, Hallo User!!
Ich hab mir jetzt PureBasic gekauft und das BattlePunks
tutorial durchgelsen.
Aber sobald ich es starten möchte, gibt mir PB einen Fehler wieder
zurück.
Könnt Ihr mir vielleicht weiterhelfen ?
Wäre euch sehr dankbar!!
Fehler:
http://img530.imageshack.us/my.php?image=falseyy2.jpg
und wenn ich die GetPID.pb starten möchte gibt er mir diesen Fehler wieder:
**
Structure not found: PROCESSENTRY32
dann diese Zeile
Define.PROCESSENTRY32 Proc32
**
Ich bin total der anfänger in PB deshalb sorry wegen meiner fragerei..
Mfg Wolle
Verfasst: 09.02.2008 13:58
von milan1612
Naja, der Compiler findet die Structure PROCESSENTRY32 nicht
Code: Alles auswählen
Structure PROCESSENTRY32
dwSize.l
cntUsage.l
th32ProcessID.l
th32DefaultHeapID.l
th32ModuleID.l
cntThreads.l
th32ParentProcessID.l
pcPriClassBase.l
dwFlags.l
szExeFile.c[260]
EndStructure
Kopier das hier mal an den Anfang des Codes...
Verfasst: 09.02.2008 14:14
von Beat-Wolle
Hallo und danke für die Hilfe,
also ich hab mir dienen Code reinkopiert.
Aber nun gibt er mir wenn ich die GetPID.pb starten möchte den Fehler
Structure not found: c
dann verweist er mich auf diese Zeile:
szExeFile.c[260]
hier mal mein ganzer Code zu GetPID.pb
Code: Alles auswählen
#TH32CS_SNAPHEAPLIST = $1
#TH32CS_SNAPPROCESS = $2
#TH32CS_SNAPTHREAD = $4
#TH32CS_SNAPMODULE = $8
#TH32CS_SNAPALL = #TH32CS_SNAPHEAPLIST | #TH32CS_SNAPPROCESS | #TH32CS_SNAPTHREAD | #TH32CS_SNAPMODULE
#TH32CS_INHERIT = $80000000
#INVALID_HANDLE_VALUE = -1
#MAX_PATH = 260
#PROCESS32LIB = 9999
#PSAPI = 9998
Procedure.s ExePath(); - Return the path and name of the running execute
Prg.s = Space(#MAX_PATH+1)
GetModuleFileName_(GetModuleHandle_(0), @Prg, #MAX_PATH)
ProcedureReturn Prg
EndProcedure
Procedure GetPID(ProgramName$)
FileName.s = GetFilePart(ExePath())
If OpenLibrary (#PROCESS32LIB, "kernel32.dll")
snap = CallFunction (#PROCESS32LIB, "CreateToolhelp32Snapshot", #TH32CS_SNAPPROCESS, 0)
If snap
Structure PROCESSENTRY32
dwSize.l
cntUsage.l
th32ProcessID.l
th32DefaultHeapID.l
th32ModuleID.l
cntThreads.l
th32ParentProcessID.l
pcPriClassBase.l
dwFlags.l
szExeFile.c[260]
EndStructure
Define.PROCESSENTRY32 Proc32
Proc32\dwSize = SizeOf (PROCESSENTRY32)
If CallFunction (#PROCESS32LIB, "Process32First", snap, @Proc32)
While CallFunction (#PROCESS32LIB, "Process32Next", snap, @Proc32)
If PeekS (@Proc32\szExeFile)<>FileName.s
PID=Proc32\th32ProcessID
program$ = PeekS (@Proc32\szExeFile)
If program$=ProgramName$
hWnd = Proc32\th32ProcessID ;hWnd has ProcessID
ProcedureReturn hWnd
EndIf
EndIf
Wend
EndIf
CloseHandle_ (snap)
EndIf
CloseLibrary (#PROCESS32LIB)
EndIf
EndProcedure
; IDE Options = PureBasic v4.00 (Windows - x86)
; CursorPosition = 46
; Folding = -
Verfasst: 09.02.2008 14:20
von HeX0R
Welche PB-Version hast du denn gekauft ?
Weil wie du an deinem eigenen Code unten siehst, ist das für PureBasic ab Version 4 gedacht.
[Nachtrag]
Mach aus dem
ein
dann sollte es auch mit deiner scheinbar älteren Version hinhauen.
Verfasst: 09.02.2008 14:30
von Beat-Wolle
Hallo Haxor
also welche Version dies genau ist weiß ich leider nicht.
aber ich habe den code mal geändert wie du mir beschrieben hast,
nurn sagt er mir aber: Garbage to the end of line
bei dieser Zeile:
Define.PROCESSENTRY32 Proc32
tut mir leid wenn ich euch hier mit meinen fragen nerven.. :/
Verfasst: 09.02.2008 14:33
von HeX0R
Die Version siehst du in der Menüleiste der IDE bei "Hilfe" / "Über".
Ich tippe mal auf die 3.3er Version.
Define kennt diese alte Version offensichtlich auch nicht, also bastel es mal um:
von:
Code: Alles auswählen
Define.PROCESSENTRY32 Proc32
Proc32\dwSize = SizeOf (PROCESSENTRY32)
in
Code: Alles auswählen
Proc32.PROCESSENTRY32\dwSize = SizeOf (PROCESSENTRY32)
Verfasst: 09.02.2008 14:33
von milan1612
HeX0R hat geschrieben:...dann sollte es auch mit deiner scheinbar älteren Version hinhauen.
Scheint nach dem Screenshot 3.3 zu sein...
@beat-wolle: So schnell wie möglich updaten!

EDIT: OK, es ist 3.3

Verfasst: 09.02.2008 14:34
von HeX0R
Du siehst das am Screenshot der IDE ?

Verfasst: 09.02.2008 14:35
von milan1612
HeX0R hat geschrieben:Du siehst das am Screenshot der IDE ?

Ja

Verfasst: 09.02.2008 14:36
von Beat-Wolle
Hallo Haxor
Ja ich hab die Version 3.30
habe auch gleich den code geändert... aber nun sagt er mir
wo ich vorhin geändert habe
szExeFile.c[260] in szExeFile.d[260]
Structure not found: d
schonmal vielen vielen dank fürs helfen
