Seite 2 von 2

Verfasst: 25.08.2005 08:24
von Dr.Pixel
Leider kommt immer noch der gleiche Fehler:
[ERROR] Line: 5
[ERROR] Invalid memory access

Line 5: Class.s = Space(#BufferSize)


Warum gibt Pb hier einen Fehler aus und im Programm "AllWindowsBrowser.pb" aus dem Codearchiv gibt es keine Probleme?
Das muss ich nun wirklich nicht verstehen!
Vielleicht sollte man das Codearchiv aktualisieren,
denn ich hatte bei vielen Sourcecodes Probleme!

Gruss Dr. Pixel

Verfasst: 25.08.2005 08:47
von Kiffi
das sollte nun aber funktionieren:

Code: Alles auswählen

#BufferSize = 2048

Procedure.s GetClassName(handle.l)
  Class.s = Space(#BufferSize)
  GetClassName_(handle, @Class, Len(Class))
  ProcedureReturn Left(Class, Len(Class))
EndProcedure

Procedure.s GetTitle(handle)
  Name.s = Space(#BufferSize)
  GetWindowText_(handle, @Name, Len(Name))
  ProcedureReturn Left(Name, Len(Name))
EndProcedure

Procedure EnumProc(handle.l, lParam.l)
  
  Class$ = GetClassName(handle)
  Title$ = GetTitle(handle)
  
  If lParam
    Debug "  Child: " + Title$ + " (" + Class$ + ")"
  Else
    Debug "Parent: " + Title$ + " (" + Class$ + ")"
  EndIf
   
  EnumChildWindows_(handle, @EnumProc(), 1)
  
  ProcedureReturn #True

EndProcedure


EnumWindows_(@EnumProc(), 0)

Verfasst: 26.08.2005 07:29
von Dr.Pixel
Yep, klappt.
Danke Dir Kiffi.