Seite 1 von 1

mein kleiner "lib searcher" zum library searching

Verfasst: 10.09.2005 15:28
von IcedCoffee
moin

ich brauche eine funktion die ich bis jetzt nur in php gefunden habe
kein prob eigentilich da bei php die funktionen alle in *.dll's sind
so jetzt frage ich mich aber in welcher *.dll meine funktion ist

also habe ich einen "lib searcher" programmiert
der geht aber irgent wie nicht da er scheinbar nix macht also eigentlich müsste mindesten einmal ein MessageRequester() öffnen aber das passirt nicht

Code: Alles auswählen

exit.b = 0
libnr.l = 0
Repeat
  If ExamineDirectory(0, "E:\Suchmachine\ext", "*.dll")
    If NextDirectoryEntry() = 1
      OpenLibrary(libnr, DirectoryEntryName())
       If IsFunction(libnr, "parse_url") ; http://www.php.net/manual/de/function.parse-url.php
        MessageRequester("lib searcher", "die funktion ist in der lib"+Chr(10)+Chr(10)+DirectoryEntryName())
        exit = 1
       EndIf
    ElseIf NextDirectoryEntry() = 0
      exit = 1
    EndIf
  Else
    exit = 1
  EndIf
  libnr = libnr +1
Until exit = 1
MessageRequester("lib searcher", "The End")
weiss einer warum?

ps: die funktion die ich suche heisst bei php parse_url

Verfasst: 11.09.2005 23:41
von IcedCoffee
weiss keiner eine lösung?
oder kan mir keiner eine alternative zu der funktion "parse_url" sagen?

Verfasst: 12.09.2005 01:12
von zigapeda
doch ich weiß glaub ich eine.
dein programm führt nach jedem schleifendurchlauf erneut examinedirectory aus d.h. es fängt jedes mal von vorne an und sucht in der 1. dll nach dem befehl wenn es den nicht findet sucht es erneut in der 1. dll.

Code: Alles auswählen

exit.b = 0
libnr.l = 0
If ExamineDirectory(0, "E:\Suchmachine\ext", "*.dll")
  Repeat
    If NextDirectoryEntry() = 1
      OpenLibrary(libnr, DirectoryEntryName())
      If IsFunction(libnr, "parse_url") ; http://www.php.net/manual/de/function.parse-url.php
        MessageRequester("lib searcher", "die funktion ist in der lib"+Chr(10)+Chr(10)+DirectoryEntryName())
        exit = 1
      EndIf
      libnr = libnr +1
    ElseIf NextDirectoryEntry() = 0
      exit = 1
    EndIf
  Until exit = 1
EndIf
MessageRequester("lib searcher", "The End")

Verfasst: 12.09.2005 02:47
von IcedCoffee
kan sein
aber ich habe jetzt einen anderen fehler gefunden
- PB kan nicht mehr als 11 libs öffnen bzw. darf der lib name nicht höher als 10 sein
weil bei dem code beendet sich das prog einfach

Code: Alles auswählen

exit.b = 0
libnr.l = 0
If ExamineDirectory(0, "E:\Suchmachine\ext", "*.dll")
  Repeat
    DirectoryEntry = NextDirectoryEntry()
    If DirectoryEntry = 1
      OpenLibrary(libnr, DirectoryEntryName())
      If IsFunction(libnr, "parse_url") ; http://www.php.net/manual/de/function.parse-url.php
        MessageRequester("lib searcher", "die funktion ist in der lib"+Chr(10)+Chr(10)+DirectoryEntryName())
        exit = 1
      Else
        MessageRequester("lib searcher", "die funktion ist NICHT in der lib"+Chr(10)+Chr(10)+DirectoryEntryName()+Chr(10)+"Libery Nr.: "+Str(libnr))
      EndIf
      CloseLibrary(libnr)
      libnr = libnr + 1
    EndIf
    If DirectoryEntry = 0
      exit = 1
    EndIf
  Until exit = 1
EndIf
MessageRequester("lib searcher", "The End")
aber bei dem code nicht

Code: Alles auswählen

exit.b = 0
libnr.l = 0
If ExamineDirectory(0, "E:\Suchmachine\ext", "*.dll")
  Repeat
    DirectoryEntry = NextDirectoryEntry()
    If DirectoryEntry = 1
      OpenLibrary(0, DirectoryEntryName())
      libnr = libnr +1
      If IsFunction(0, "parse_url") ; http://www.php.net/manual/de/function.parse-url.php
        MessageRequester("lib searcher", "die funktion IST IN DER LIB"+Chr(10)+Chr(10)+DirectoryEntryName()+Chr(10)+"Libery Nr.: "+Str(libnr))
        exit = 1
      Else
        MessageRequester("lib searcher", "die funktion ist NICHT in der lib"+Chr(10)+Chr(10)+DirectoryEntryName()+Chr(10)+"Libery Nr.: "+Str(libnr))
      EndIf
      CloseLibrary(0)
    EndIf
    If DirectoryEntry = 0
      exit = 1
    EndIf
  Until exit = 1
EndIf
MessageRequester("lib searcher", "The End")
naja der ergebniss ist das ich 60DLLs durch sucht habe aber nirgent wo meine funktion drinne ist *scheisse*

Verfasst: 12.09.2005 03:21
von IcedCoffee
hää?

irgentwie geht das alles nicht so wie es soll
weil ich habe mir jetzt noch einen Functions Counter eingebaut aber der geht irgent wie nicht
also er geht schon aber nicht bei meinen php dll's [bei anderen dlls geht er aber]

weiss einer warum?
weil dll ist ja dll also müsste je doch bei php dll's genau so gehen wie bei anderen

Verfasst: 12.09.2005 03:25
von ts-soft
>> weil dll ist ja dll also müsste je doch bei php dll's genau so gehen wie bei anderen
o_O, das glaub ich aber weniger.

Hab mir den Code zwar nicht so genau angeschaut, aber warum nimmste nicht #PB_Any also dynamische Nummern?

Verfasst: 12.09.2005 13:01
von IcedCoffee
weil ich anfangs eigentlich nur wissen wollte welche lib ich in Openlibrary() in meinem anderen program öffnen muss/will

also wollte ich das ding nur mal kurz in 5min fertig haben und einmal ausfüren

also habe ich mir auch nicht so die gedanken darum gemacht weil es eigentlich nur ein 5min prog werden sollte [jetzt sind es schon 2 tage *scheisse*]