Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Array an dll übergeben?
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 14.07.2008, 20:24    Titel: Array an dll übergeben? Antworten mit Zitat

Hallo Leute,

ich möchte einfach ein Array an eine dll übergeben.

Habe alles ordnungsgemäss declariert:
Code:

Dim Shared Testfunktion As Function (ByRef imgo As uByte ptr) As Long

(Shared deshalb weil die Funktion wiederum aus einer Funktion aus aufgerufen wird)
Code:

library = DyLibLoad( "mydll.dll" )
Testfunktion = DyLibSymbol( library, "Testfunktion" )

hier der Aufruf:
Code:

 xa = Testfunktion (TestArray())

Getestet habe ich auch schon:
Code:

 xa = Testfunktion (TestArray)
 xa = Testfunktion (TestArray[])


Bei einfachen Variablen funktioniert alles nur beim Array nicht.
Habe vor lauter Verzweifelung schon fast mein Mauskabel durchgebissen.

Wer weis hier guten Rat?

Beste Grüße
Windowsmuffel

PS: Ich versuche mich gerade an Facedetection in einem Bild/Video
Hat irgendjemand Interresse da mit zumachen/Erfahrungsaustausch?[/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 14.07.2008, 21:14    Titel: Antworten mit Zitat

Hi,
Zitat:
Code:
Dim Shared Testfunktion As Function (ByRef imgo As uByte ptr) As Long

Damit kann man einen Ubyte Ptr uebergeben (mit Pointer-Arithmetik kann man damit immer noch Arrays uebergeben, aber...)
Code:
Dim Shared Testfunktion As Function (imgo() As uByte) As Long
...wäre einfacher.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 15.07.2008, 18:37    Titel: Antworten mit Zitat

oder vlt statt array einfach die adresse von array(0) (oder 1) übergeben?
kA, ich spiel eig nur in c mit pointern rum und da geht das grinsen

aber, von wegen facedetection: wie soll das gehen? ein gesicht einigen abgespeicherten zuordnen? oder "einfach nur" die verschiedenen gesichtspartieen voneinander trennen
interessiert wäre ich ja *gg*
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 15.07.2008, 21:36    Titel: Re: Array an dll übergeben? Antworten mit Zitat

Wenn du so declarierst:
[quote="Windowsmuffel"]
Code:

Dim Shared Testfunktion As Function (ByRef imgo As uByte ptr) As Long


Dann musst du so aufrufen
Code:

 xa = Testfunktion (@TestArray(1))



MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 17.07.2008, 09:44    Titel: Antworten mit Zitat

Hallo alle zusammen,

leider funktioniert alles nicht

Bei:
Code:

DIM SHARED Testfunktion AS FUNCTION (imgo() AS UBYTE) AS LONG

kann ich aufrufen wie ich will - es geht nicht

Bei:
Code:

 DIM SHARED Testfunktion AS FUNCTION (BYREF imgo AS UBYTE PTR) AS LONG
und
 xa = Testfunktion (@TestArray(1))

steigt Windows mit der üblichen Fehlermeldung "Windows hat ein Problem festgestellt..."
einfach aus.

Langsam verliere ich bei der Sache den Verstand.

Zum Facedetection:

Ich möchte aus einem Videostream erst einmal einfach nur die Anzahl der Gesichter feststellen.
Dabei denke ich an die Opencv-Libary von Intel. Ist Opensource und soll ganz gut funktionieren.

Im nächsten Schritt sollen dann die Gesichter mit bereits abgespeicherten verglichen werden.
Somit könnte ein Robo wissen ob er eine bekannte oder unbekannte Person vor sich hat.

Aber auch alles andere wie z.B. wie lange Oma auf dem Klo gesessen hat lächeln liese sich auswerten....

Wir können ja speziell hierfür ein neues Thema öffnen.

Beste Grüße
Windowsmuffel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 17.07.2008, 10:12    Titel: Antworten mit Zitat

Wups .. das hab ich ja garnicht gesehen ... das Shared kannst du weg lassen, genauso wie das Dim.

Code:
Declare Function Testfunktion (imgo() AS UBYTE) AS LONG

Code:
xa = Testfunktion (@TestArray(1))

Sollte funzen ... andersfalls hast du nur einen Speicher dimensioniert, der eine Funktion aufnehmen kann, jedoch in diesem speicher kein Pointer zu einer Funktion hinterlegt ist. Sprich .. du versucht eine Funktion zu callen, dessen Refernz-Pointer 0 ist, und 0 ist kein Pointer sondern eine "Leere" Variable.

Ein Dim musst du nur dann nutzen,wenn du z.B. die Funktion einer untergeordneten Funktion übergibst, udn diese callen willst. Dann musst du jedoch die Funktion auch linken. z.B. Mit Cast()


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 17.07.2008, 11:12    Titel: Antworten mit Zitat

Hi TPM,

die Function "Testfunktion" befindet sich in einer externen dll.

Deshalb auch dieses:

Code:

library = DYLIBLOAD( "mydll.dll" )
Testfunktion = DYLIBSYMBOL( library, "Testfunktion" )


Nun soll die als Funktion gedimte Funktion wiederum aus einer Funktion heraus aufgerufen werden wobei die aufrufende Funktion letztendlich eine Funktion einer dll ist.
Habe gar nicht gewußt das man eine Funktion soo umständlich beschreiben kann lächeln - aber so soll es nunmal sein

mfg
Windowsmuffel

PS: diese dll wird dann später von Visual-Basic genutzt. Das funktioniert ganz gut und gibt VB den fehlenden Power
[/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.07.2008, 14:14    Titel: Antworten mit Zitat

Was ist daran so schwierig?
Testdll.bas => Testdll.dll
Code:
'fbc -dll Testdll.bas
'=> Testdll.dll und libTestdll.dll.a
Declare Function Testfunktion Lib "Testdll" Alias "Testfunktion" (Aarray() As Integer) As Integer
Function Testfunktion (Aarray() As Integer) As Integer Export
  Function = Aarray(0)
End Function
Testmydll.bas
Code:
'fbc -s console Testmydll.bas
Dim As Integer TestArray(20)
Dim x As Integer
Declare Function Testfunktion Lib "Testdll" Alias "Testfunktion" (Aarray() As Integer) As Integer

TestArray(0) = 15
x = Testfunktion(TestArray())
Print x
Sleep
Hinweis:
Wenn die dll mit VB oder VBA unter Windows laufen soll muss:
1. die dll EXTERN "windows-ms" enthalten und
2. die DLL mit -dll -export erstellt werden.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 17.07.2008, 14:56    Titel: Antworten mit Zitat

Hallo,

das Problem dabei ist das die dll in der Funktion eine Fremdll ist und ich leider daran nichts mehr ändern kann. Alle Funktionen in der dll funktionieren auch aus FB heraus - nur die eine Funktion mit dem Array nicht.
In VB kann ich die Funktion allerding ansprechen und es funzt.
Nur müsste ich dann Arrays zwischen FB und VB hin und herschieben was ich nicht gerade als einen tollen Programmierstil empfinde...
Ergo sollte die dll als solchige auch OK sein.


mfg
Windowsmuffel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.07.2008, 15:15    Titel: Antworten mit Zitat

Windowsmuffel hat Folgendes geschrieben:
In VB kann ich die Funktion allerding ansprechen und es funzt.
Schreib mal wie das aus VB funktioniert. Kann sein, dass man erkennt wie es dann mit FB gehen könnte.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 17.07.2008, 15:25    Titel: Antworten mit Zitat

Muss eigendlich ein ganz simpler Fehler meinerseits sein ...

Deklaration VB
Code:

Declare Function testfunk Lib "testfunk.dll" (imgo() As Byte) As Long


Aufruf VB:
Code:

dim imgo() as byte
.
.
.
xa = testfunk(imgo)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.07.2008, 17:48    Titel: Antworten mit Zitat

Da werde ich auch nicht schlau raus verwundert

nur eine leere Dimensionierung dim imgo() as byte
ein Funktionsaufruf der anscheinend kein Array angibt xa = testfunk(imgo)
obwohl die Declaration ein Array verlangt?
So kenn ich VB garnicht weinen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 17.07.2008, 19:40    Titel: Antworten mit Zitat

Ich habs mal so nebenbei hingetextet lächeln (nicht gestestet!!)
arreytest.bas:(DLL)
Code:
TYPE t
    dim as integer c(30)
end type

declare sub importarrey lib "arreytest" alias "importarrey" (arreyname as t)
declare function exportarrey lib "arreytest" alias "exportarrey" as t
dim shared as t test

sub importarrey (arreyname as t) export
    print "dllimportcode = ";arreyname.c(1)
    if ubound(test.c) <> ubound(arreyname.c) then print "FEHLER.. BITTE MIT TYPE DECLARIEREN.." : EXIT SUB
    test = arreyname
end sub

function exportarrey as t export
    return test
end function


TESTPROGRAMM.bas:
Code:
TYPE t
    dim as integer c(30)
end type

declare sub importarrey lib "arreytest" alias "importarrey" (arreyname as t)
declare function exportarrey lib "arreytest" alias "exportarrey" as t

dim as t mmmm
mmmm.c(1)=100
print mmmm.c(1)
importarrey (mmmm)
dim as t o = exportarrey
print o.c(1)

sleep

_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joseph



Anmeldungsdatum: 06.05.2008
Beiträge: 8

BeitragVerfasst am: 18.07.2008, 17:19    Titel: Antworten mit Zitat

Hallo,

mögliche Ursachen für Dein Problem:
1. Sind die handles auf die DLL und die Funktion innerhalb der DLL gültige, von Null verschiedene Werte? Wenn ja, hat schon mal das Laden geklappt, ansonsten scheint hier das erste Problem zu liegen. Lass Dir doch einfach mal die beiden handles anzeigen, um das zu überprüfen.
2. Stimmen die Datentypen? Du definierst den Rückgabewert Deiner Funktion als LONG. Dabei ist aber zu beachten, dass in FB der Datentyp LONG eine 64-bit-Ganzzahl bedeutet und INTEGER eine 32-bit-Ganzzahl. Ich hab gerade bezüglich Datentypen in VB gestöbert und laut der Übersicht ist in VB LONG eine 32-bit Ganzzahl. Wenn Deine Funktion eine 32-bit-Ganzzahl als Rückgabewert erfordert, wäre das in FB somit INTEGER und in VB LONG.

Hoffe, ich konnte bei der Lösung weiterhelfen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 19.07.2008, 08:51    Titel: Antworten mit Zitat

Hallo Joseph,

das ist alles geprüft und soltte stimmen da ich aus der dll auch andere Funktionen einwandfrei nutzen kann.

Mittlerweile bin ich der Lösung schon einen Schritt näher gekommen.

Ich kann diese eine Funktion der dll weder innerhalb einer eigenen Funktion noch sonst irgendwie. nutzen - gibt die verschiedensten Fehlermeldungen bis hin zum Absturz.

Nun glaubte ich langsam nicht mehr an einen Programmierfehler und habe die Sache auf einem anderen PC getestet - und siehe da: es geht!

Allerdings nur außerhalb einer Funktion traurig

Der einzige grobe Unterschied der beiden PC´s ist XP und der Prozessor. Mit Prof. und Dualcore geht gar nichts mit Home und Celeron geht es wenigstens außerhalb einer Funktion.

Es könnte allerdings dann auch an der (fremd)dll liegen....

Beste Grüße an Alle
Windowsmuffel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joseph



Anmeldungsdatum: 06.05.2008
Beiträge: 8

BeitragVerfasst am: 22.07.2008, 18:58    Titel: Antworten mit Zitat

Hallo Windowsmuffel!

Auch wenn die Chancen auf Erfolg gering sind, angesichts der offensichtlichen Probleme mit dem OS/cores, könntest Du noch folgendes probieren:
Wenn es vom Programmablauf her möglich ist, könntest Du versuchen, diese eine Funktion aus der DLL Deinem Programm statisch hinzuzubinden, also so wie bei jeder gewöhnlichen statischen Lib. Das kannst Du in FB folgendermaßen bewerkstelligen:

1. Eine Kopie der DLL anlegen.
2. Die Dateiendung der Kopie von .dll in .a umbenennen (z.B. mydll.dll -> mydll.a).
3. In Deinem Programm die so erzeugte statische Lib mit #inclib einbinden, dabei die Dateiendung weglassen, z.B. so: #inclib "mydll".
4. Die Funktion ganz normal deklarieren, z.B. so: declare function testfunk(array() as byte) as long.

Wie gesagt, ob's klappt ist fraglich, wenn das Problem innerhalb der DLL liegt. Aber es sollte zumindest bei "geeignetem" OS möglich sein, die Funktion überall in Deinem Programm anzusprechen und vielleicht klappt's damit ja doch, auch bei XP Prof. bzw. multi-cores.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Windowsmuffel



Anmeldungsdatum: 21.05.2008
Beiträge: 8

BeitragVerfasst am: 22.07.2008, 20:06    Titel: Antworten mit Zitat

Hallo Joseph,

vielen Dank für Deinen Tip - habe gar nicht gewüßt das es so herum auch funktioniern kann zwinkern

Es hat leider auch, außer einer (neuen?) Erkenntniss, nichts gebracht - nähmich: man darf einfach nicht so faul sein und sich nur auf der früchte anderer Arbeit ausruhen wollen.

In der Zeit die ich nun mit diesem "Problemchen" verbracht habe hätte ich mich auch in die Thematik einarbeiten und eine eigene dll schreiben können
mit dem Kopf durch die Mauer wollen

Aus Erfahrung wird man klug....

Beste Grüße
Windowsmuffel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 23.07.2008, 01:36    Titel: Antworten mit Zitat

Hi @Joseph,
das
Zitat:
1. Eine Kopie der DLL anlegen.
2. Die Dateiendung der Kopie von .dll in .a umbenennen (z.B. mydll.dll -> mydll.a).
3. In Deinem Programm die so erzeugte statische Lib mit #inclib einbinden, dabei die Dateiendung weglassen, z.B. so: #inclib "mydll".
4. Die Funktion ganz normal deklarieren, z.B. so: declare function testfunk(array() as byte) as long.
kann auf keinen Fall funktionieren Kopf schütteln
Mit -dll kompiliert hat die Datei einen MZ-Header,
mit -lib kompiliert hat die Datei einen !<arch>-Header
d.h. eine .dll -> .a wird nicht als a-Datei erkannt.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Joseph



Anmeldungsdatum: 06.05.2008
Beiträge: 8

BeitragVerfasst am: 23.07.2008, 16:27    Titel: Antworten mit Zitat

@Volta,

doch, das Umbenennen der DLL in eine .a-Datei und das Einbinden mit #inclib hat bei mir funktioniert. Ich hab das mit einer eigenen, mit FB erstellten DLL ausgetestet. Diese enthält mathematische Funktionen und ich konnte beim Testlauf korrekte Rückgabewerte erhalten, die auch in der normalen Variante als DLL herausgekommen wären. Im kleinen Testprogramm waren auch keinerlei handles auf die eigentliche DLL enthalten und es gab beim Kompilieren keine Fehler oder Warnungen, also völlig ausgeschlossen, dass hier doch ein Zugriff auf die eigentliche DLL erfolgte. Allerdings habe ich dabei FB0.16 verwendet, auch die DLL wurde mit FB0.16 erstellt, unter 0.17 oder 0.18 hab ich's nicht getestet (sorry). Möglich also, dass das unter 0.16 zwar funktioniert (obwohl es nicht funktionieren sollte), aber nicht mehr in späteren Versionen. Werde das ganze nochmals gründlich auch mit FB0.17 und FB0.18 austesten. Wenn das dort nicht funktioniert, dann hat FB0.16 (vielleicht auch die früheren Versionen) einen Bug, der unter Umständen sogar nützlich sein könnte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joseph



Anmeldungsdatum: 06.05.2008
Beiträge: 8

BeitragVerfasst am: 24.07.2008, 17:51    Titel: Antworten mit Zitat

Hallo nochmal,

möchte Euch über den Versuch, eine dll statisch einzubinden informieren und habe dabei eine wahrscheinlich noch undokumentierte (Fehl-)Funktion von FB entdeckt:
Zunächst das Wichtigste: Die Variante mit dem Umbenennen der dll in eine .a-Datei läuft tatsächlich nicht. Der Grund warum es bei meinem ersten Versuch scheinbar geklappt hat war der, dass sich sowohl die ursprüngliche dll als auch die .a-Datei, aber auch die .bas-Datei im selben Verzeichnis befanden. Nun habe ich folgendes herausgefunden: Wenn sich die .bas-Datei aber auch die .dll im selben Verzeichnis befinden und die .a-Datei einen für eine statische lib ungültigen header hat oder nicht vorhanden ist, ist es möglich, die dll mit #inclib einzubinden, aber nicht als statische lib sondern als ganz normale dll, d.h. das Programm läuft ohne die dll nicht, und das obwohl #inclib dafür gar nicht vorgesehen ist und gar keine handles definiert werden müssen! Dies konnte ich überprüfen, indem ich die exe-Datei in einen anderen Ordner verschoben habe, und starten wollte. Sofort kam die übliche Fehlermeldung, dass die dll nicht gefunden wurde. Habe die dll dann in denselben Ordner wie die exe verschoben und alles lief problemlos. FB hat also mit #inclib keine rein statische exe erzeugt, sondern eine exe, die zur Laufzeit eine dll benötigt. Was ich ebenfalls herausgefunden habe ist, dass das Kompilieren in so einem Fall nur funktioniert, wenn sich die .bas-Datei und die dll im selben Ordner befinden, eine zusätzliche Pfadangabe funktioniert nicht.
Dies habe ich mit FB0.16 als auch FB0.18 geprüft, wobei die dll mit FB0.16 erstellt wurde.

Offenbar geht FB so vor: Wenn mit #inclib eine statische lib eingebunden werden soll, versucht FB die .a-Datei zu öffnen. Wenn der header der .a-Datei nicht passt oder die .a-Datei gar nicht vorhanden ist, sucht FB nach einer dll mit dem Namen. Wenn diese gefunden wurde, wird diese als normale dll eingebunden und muss zur Laufzeit des Programms vorhanden sein, was so aber gar nicht für #inclib vorgesehen ist.

Dies führt aber nun zu der interessanten Option, dass es offenbar möglich ist, wenn auch nicht beabsichtigt, #inclib unter den genannten Bedingungen auch zum Einbinden einer dll zu nutzen, ohne sich mit den ganzen handles herumschlagen zu müssen. Auch das auf den ersten Blick umständlich erscheinende Dimensionieren der dll-Subs/Funktionen mit z.B. dim as function... und dylibsymbol kann dabei entfallen. Wäre jetzt nur noch interessant, ob das auch zuverlässig funktioniert. Natürlich gibt es bei der Variante keine Möglichkeit, die dll bei Nichtbedarf mit dylibfree wieder aus dem Speicher zu entfernen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
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.

 Impressum :: Datenschutz