Seite 1 von 3

Only a litteral string ...

Verfasst: 19.04.2008 15:07
von Tombi
Wenn ich folgenden Code ausprobiere:

Code: Alles auswählen

Repeat
If ExamineDirectory(0,pluginfolder$+"/"+a$,"*.*")
  FileType = NextDirectoryEntry()
    If FileType = 1
      FileName$ = DirectoryEntryName()
      
      Name$ = pluginfolder$+"/"+a$+"/"+FileName$
        IncludeFile Name$
        
    EndIf
  
Else
 MessageRequester("Error: Plugins",pluginfolder$+"/"+a$+" not found.",0)
 End
EndIf
  
Until FileType = 0
Bekomme ich immer nur bei IncludeFile Name$ folgendes:
[quote=Fehlermeldung]Only a litteral string can be put after 'IncludeFile'[/quote]

Wie könnte ich das anders lösen?

Verfasst: 19.04.2008 15:13
von STARGÅTE
garnicht ^^

IncludeFiles werde/müssen vor dem Compilieren des Codes in die Gesamtquellcode eingebaut werden.

Somit kannst du das nicht einbauen wärend das Programm schon läuft.

Du musst also selber alle Includes zusammschreiben.

Verfasst: 19.04.2008 15:17
von Tombi
Wie alle Includes zusammenschreiben?

Ich will alle Dateien die in einem Ordner sind includieren.
Wie soll ich das anderst lösen?

Ich will/kann nicht vorher sagen welche Dateien drinne sind alles und wie die alle heißen!

Verfasst: 19.04.2008 15:22
von edel
Wie STARGÅTE schon schrieb, geht das nicht. Du wirst dir ein anderen
Weg suchen muessen, um Plugins zu laden. Mit IncludeDings bist du
voellig falsch.

Du koenntest aber mal erzaehlen was du da genau vorhast, dann findet
sich sicherlich eine Lösung.

Verfasst: 19.04.2008 15:24
von STARGÅTE
schreibe dir ein Programm, was diesen Ordner ausließt und dann selber erst mal eine "Main.pb" Include schreibt.
In diese steht dann alle deine Files drinne, sodass du bei deinem Hauptcode nur noch eine Main.pb includen musst, welche dann alle Includes beinhaltet, die zZ an dem du den Ordner ausgelesen hast im Ordner waren.
So oft werde sich ja deine Includes nicht vermehrern ^^

Verfasst: 19.04.2008 15:29
von Scarabol
Hi,

ich stimme StarGate zu so würde ich das auch machen...

Und hier die Funktion deines Vertrauens:
http://www.purebasic.fr/german/viewtopi ... highlight=

Gruß
Scarabol

Verfasst: 19.04.2008 15:31
von Tombi
Kapiere ich irgendwie nicht :mrgreen:
Außerdem soll es ja wie ein "Plugin-System" sein, da kann jeder `ne PureBASIC Datei (mit PureBASIC-Script darin ^^) einfügen und die soll dann entsprechend geladen werden. Da weiß ich ja nicht, wie welche Datei heißt, höchstens durch mein oberes Script was ja nicht funktioniert.

Ist es vielleicht möglich auch einfach eine Datei über ReadFile() bzw. OpenFile() zu öffnen und dann jede Einzelne Zeile aufzurufen, ist ja alles PureBASIC Code.

Verfasst: 19.04.2008 15:34
von Scarabol
Hi,

du musst in 2 Schritten arbeiten:

1. Programm a) erstellen eine include.pbi mit allen IncludeFiles darin aufgelistet aus dem Verzeichnis.

Code: Alles auswählen

IncludeFile "dir\dateia.pb"
IncludeFile "dir\dateib.pb"
IncludeFile "dir\dateic.pb"
2. Das eigentliche Programm braucht dann als Include nur noch die eine include.pbi

Gruß
Scarabol

Verfasst: 19.04.2008 15:38
von edel
Tombi hat geschrieben:Kapiere ich irgendwie nicht :mrgreen:
Außerdem soll es ja wie ein "Plugin-System" sein, da kann jeder `ne PureBASIC Datei (mit PureBASIC-Script darin ^^) einfügen und die soll dann entsprechend geladen werden. Da weiß ich ja nicht, wie welche Datei heißt, höchstens durch mein oberes Script was ja nicht funktioniert.

Ist es vielleicht möglich auch einfach eine Datei über ReadFile() bzw. OpenFile() zu öffnen und dann jede Einzelne Zeile aufzurufen, ist ja alles PureBASIC Code.
Nein, PB ist keine Scriptsprache. Nach dem Kompilieren ist schicht
im Schacht. Mach es dir einfach und vergiss den Gedanken.

Verfasst: 19.04.2008 15:44
von Tombi
Achso... Cool :mrgreen:
Danke für den Tipp probiere ich gleich aus...