Mein Compiler will keine DLL erstellen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Mein Compiler will keine DLL erstellen

Beitrag von captain third »

moin erstmal,

ich habe mir jetzt mal die dll technik angeguggt,und wollte dann nach ein paar stunden eine dll schreiben.alles gut und schön,sie funktioniert,jetzt mein problem...

mein compiler(PB 3.91 vollversion) will keine dll's machen,ich bin auf Compiler option gegangen und habe shared dll oder so angegebn,wie es in der hilfe stand und dann (nach dem speichern als pb) bin ich auf "erstelle executable" gegangen hab namen ausgesucht für die dll und dann auf speichern,alles gut und schön,keine fehlermeldungen,aber wenn ich dann in den ordner reingehe wo theoretisch die dll sein muss,sehe ich keine dll drinne und wenn ich mit einem prog die dll aufrufe ist sie angeblich nicht da,was mache ich falsch?

ich weiß das die dll funktioniert weil ich die als pb datei gespeichert habe und dann immer mit includefile() eingesetzt habe...(hab natürlich danach alles in proceduredll geschrieben)

könnt ihr mir helfen?
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

ok falscher alarm,aus irgendeinem grund ist jetzt plötzliuch doch ne dll da,fragt mich net warum habs die ganze zeit versucht,und auf einmal war sie da,naja egal.jetzt kommt aber ein anderes problem...

und zwar hab ich (nur aus testzwecken) eine dll geschrieben und dazu ein klitzekleines prog,aber das prog stürzt ständig ab ich zeig euch mal mein code

Code: Alles auswählen

Aus der DLL:
ProcedureDLL ConsolePasswort()
 Repeat
  PrintN("Passwort required")
  Passwort$=Input()
  If Passwort$=("6xb2yz")
   PasswortCorrect=1
  EndIf
 Until PasswortCorrect=1
EndProcedure

und dazu das prog:
OpenLibrary(0, "Data.dll")
 OpenConsole()
 CallFunction(0, "ConsolePasswort")
 PrintN("Willkommen")
 Input()
End
rein theoretisch habe ich mich aber an die hilfe gehalten und alles nach vorschrift gemacht
Beispiel:

ProcedureDLL MyFunction()
MessageRequester("Hallo", "Dies ist eine PureBasic DLL !", 0)
EndProcedure

; Hier das Client Programm, welches die DLL benutzt
;
If OpenLibrary(0, "PureBasic.dll")
CallFunction(0, "MyFunction")
CloseLibrary(0)
EndIf
warum stürzt das prog ständig ab?
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
netfreak
Beiträge: 91
Registriert: 23.10.2004 18:30
Kontaktdaten:

Beitrag von netfreak »

So ich habe das Problem gelöst!

schau her

Code der DLL

Code: Alles auswählen

ProcedureDLL ConsolePasswort()
 Repeat
 OpenConsole()
  PrintN("Passwort required")
  Passwort$=Input()
  If Passwort$=("6xb2yz")
   PasswortCorrect=1
  EndIf
 Until PasswortCorrect=1
EndProcedure 
So und hier der Code des Proggs

Code: Alles auswählen


If OpenLibrary(0, "data.dll")
CallFunction(0, "ConsolePasswort")
CloseLibrary(0)
EndIf

So das Problem lag an der Dll du hast keine Console aufgemacht dardurch stürtze alles ab! Die Dll kann ja nich in die Console schreiben die dein Progg aufgemacht hat!

mfg
netfreak
mfg
netfreak
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

das versteh ich net,mit includefile ging das doch.....und wiso kann die dll nix schreiben wenn das prog die console doch schon geöffnet hat?
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

StdIn und StdOut handle nicht bekannt? Steuer die Konsole direkt über die APIs an. Dürfte abhilfe schafen...
Bild
netfreak
Beiträge: 91
Registriert: 23.10.2004 18:30
Kontaktdaten:

Beitrag von netfreak »

Bei Include Files werden ja auch die Include Datei dirget ins Progg geschrieben. Aber eine Dll ist ja fast wie ein eigenes Progg.
mfg
netfreak
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

achso...gut danke,merk ich mir :D
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Antworten