Includes

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

regaa

Betreff: Includes

BeitragSo, März 21, 2004 0:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab zwei funktionen:

Code: [AUSKLAPPEN]

function fun1()
include "funktionsinhalt.bb"
end function

function fun2()
include "funktionsinhalt.bb"
end function


Wenn ich beim start die erste aufrufe, geht es. Wenn ich die zweite aufrufe, ist es als ob der inlcude nicht da wäre. Warum? Ist das ein Bug, oder ist mir was nicht bekannt bezüglich includes?

Jolinah

BeitragSo, März 21, 2004 1:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Soviel ich weiss kann eine Include immer nur einmal eingebunden werden.
Includes werden normalerweise auch nicht auf diese Weise benutzt.

Besser Wäre:
Code: [AUSKLAPPEN]

;include.bb

Function f1()
  ;.....
  ;.....
End Function

Function f2()
  ;.....
  ;.....
End Function


Code: [AUSKLAPPEN]

;hauptdatei

include "include.bb"

f1()
f2()

End

bruZard

BeitragSo, März 21, 2004 1:18
Antworten mit Zitat
Benutzer-Profile anzeigen
ein Fall für die FAQ's


Stelle Dir Include folgendermassen vor: Du hast mehrere Dateien die BB Code enthalten, Du includest diese am Anfang Deines Programms oder mittendrin ... was der Compiler macht ist nichts anderes als wenn Du den Code der zu inkludierenden Dateien genau an der Stelle einfügst wo das "Include" steht. Nach dem Kompilieren ist das Include im Code und es ist nicht jehr zu ändern.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Jolinah

BeitragSo, März 21, 2004 1:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Bruzard hat recht, bloss nach dieser Theorie könnte man die selbe Include Datei 2 mal einfügen, was anscheinend aber nicht geht. Ist halt sowas ähnliches wie bei PHP die require_once() Funktion. Was soviel bedeutet wie:

Der Inhalt der Datei wird einmal benötigt. Und zwar an dieser Stelle wo man die Funktion aufruft. Jedoch wird überprüft ob die Datei schon einmal eingebunden wurde, wenn ja wird sie nicht ein zweites mal eingebunden.


PS:

Benutzt man in PHP z.Bsp. wenn die Seite aus mehreren PHP Dateien besteht die Included werden. Je nach Seite werden aber nicht immer die gleichen PHP's Included. Dann kann es vorkommen das in 2 PHP Dateien steht require_once(). Im Fall das nur eine eingebunden wird is es wie ein Normales Include in PHP. Falls jedoch beide PHP Dateien eingebunden werden wird der Inhalt nicht 2 mal eingefügt sondern nur 1 mal (Weil Funktionen oder so in der Regel ja nicht doppelt definiert werden sollten, kommt sonst zu fehlern).
  • Zuletzt bearbeitet von Jolinah am So, März 21, 2004 1:37, insgesamt einmal bearbeitet

regaa

BeitragSo, März 21, 2004 1:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, ok leuchtet mir ein. Danke

BladeRunner

Moderator

BeitragSo, März 21, 2004 1:55
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt hast du zwei möglichkeiten:
1. Du speicherst deine Includedatei unter anderem Namen nochmal ab, dann kannst du sie ein 2es mal einbinden ->eher schlecht.
Oder:
2. du machst aus dem Teil, der in beiden Funktionen identisch ist ne eigenständige 3e Funktion, und die kannst Du bei Bedarf auch auslagern-> besser!

Also Bsp.:
Code: [AUSKLAPPEN]

function f1()

  f3()
  ;anderer Krempel
end function

function f2()

  f3()
  ;anderer Krempel
end function

function f3()

  include "f3_inhalt.bb"
end function


Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group