 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 25.02.2007, 05:39 Titel: DLLTool / pbc -dll |
|
|
Hi,
Hab da mal eine Frage, oder ein Problem...
ich hab versucht anhand der mydll.bas example eine kleine test-dll zu erstellen, aber wenn ich dann die funktionen in der .bi-datei
und den functions declarationen declare lib "test.dll" ect..
meldet mir der compiler beim aufruf der function nach dem start immer
"undefined reference"
diese fehler tauchen nicht auf wenn ich stattdessen dylibload nutze, woran liegt das ?? |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 25.02.2007, 10:23 Titel: |
|
|
Wenn der Compiler 'undefined reference' meldet, hast du in deinem Quellcode einen Fehler..
..da du diesen offensichtlich nicht selber finden kannst, wäre es immens hilfreich, wenn du wenigstens ein Stückchen dieses kostbaren Quellcodes(möglichst einen relevanten) hier posten könnstest..
..denn sonst kommt zu der Compiler-Meldung 'undefined reference' noch die Foren-Meldung 'undefined sourcecode'
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 25.02.2007, 10:39 Titel: |
|
|
Dann will ich mein furchtbar wichtiges und hoch komplexes Meisterwerk, meiner Test routine mal posten
DLL-TEST.bi
Code: |
type position
x as integer
y as integer
end type
type pptr as position ptr
declare function Get_Camera_Position Lib "dll-test.dll" Alias "Get_Camera_Position" ( byval Cam_ptr as pptr, byval CamS as string) as integer
Declare function Set_Camera_Position Lib "dll-test.dll" Alias "Set_Camera_Position" (byval Cam_ptr as pptr,byval px as integer , byval py as integer) as integer
|
DLL-TEST.BAS
Code: |
#include "dll-test.bi"
Declare Sub Set_Camera_Position (byval Cam_ptr as pptr,byval px as integer , byval py as integer)
Sub Set_Camera_Position (byval Cam_ptr as pptr,byval px as integer , byval py as integer)
poke integer,Cam_ptr,px
poke integer,Cam_ptr+4,py
End Sub
|
Test.bas
Code: |
Dim Camera as position
Set_Camera_Position (@Camera,123,234)
?Get_Camera_Position (0,0)
sleep
|
wenn ich die Functionen so declariere und dann aufrufen will gibt es den besagten fehler vom compiler....
[/code] |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 25.02.2007, 10:49 Titel: |
|
|
Erklärst du mir bitte, was hier Code: | poke integer,Cam_ptr,px
poke integer,Cam_ptr+4,py | passieren soll?
Ich gehe mal davon aus, daß du die deutsche Befehlsreferenz gedownloadet hast,
schon weißt, was der Poke-Befehl macht UND
daß integer ein Schlüsselwort ist, daß in dieser Form NICHT in einem Funktionsaufruf stehen darf..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 25.02.2007, 10:53 Titel: |
|
|
Das ganze ist eigentlich ein versuch diese ganzen Pointer-Funktionen wie sie in fast alles DLLs verwendet werden zu verstehen um von meiner Statischen und unübersichtlichen Coderei weg zu kommen, eigentlich soll die funktion eine integer information an eine UDT ptr übergeben und diese dann auch wieder ausgeben.... als beispiel für Camera oder Sprite positionen.... |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 25.02.2007, 11:00 Titel: |
|
|
Pointer sind sehr hilfreich, wenn sie richtig verwendet werden..
..du hast Glück, daß dein Pointer-Fehler noch vom Compiler erkannt wird..
s. Befehls-Referenz
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|