[erledigt] Hülfäää - wie benutze ich eine .dll ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[erledigt] Hülfäää - wie benutze ich eine .dll ?

Beitrag von scholly »

moin, moin...

Newbie und DLL - 3 Welten begegnen sich :(

Ich hab mir jetzt >2 Std nen Wolf gesucht um ein Bespiel/Tutorial zu finden, anhand dessen ich lernen kann, wie ich die DLL, die ich fürs AVI-Info-Auslesen gefunden habe, nun nutzen/einbinden kann. Fehlanzeige.
Gibts wirklich nix, woraus jemand, der garkeine Ahnung von Libraries hat, lernen kann, wie man sie benutzt ?

scholly :cry:
Zuletzt geändert von scholly am 21.04.2008 22:31, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Schon mal einen Blick in die Hilfe geworfen ?
Dort findest du unter Library "alles" was du brauchst .
Benutzeravatar
spacewalker
Beiträge: 48
Registriert: 15.07.2005 15:22
Wohnort: Stuttgart

Beitrag von spacewalker »

ich vermute fast, damit ist eine spezifische dll die sich gerade mit AVI beschaeftigt und die referenz dazu gemeint... In dem fall brauchst du die dokumentation fuer diese DLL, sonst wirklich - original PB-Hilfe.
Ich liebe Asche und Rauch meiner Zigaretten.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

hallodri hat geschrieben:Schon mal einen Blick in die Hilfe geworfen ?
Dort findest du unter Library "alles" was du brauchst .
Was meinst Du denn, was ich mir in den 2 Std angesehen habe ?
Englisch und deutsche Hilfe, das pdf zu 3.20 und auch auf den PB-Sites war ich.
Nope, nix, njente, das alles hilft noch nicht mal als Einstieg, da nirgendwo ein Beispiel/Tutorial, das konkret erklärt, wie man mit den Infos in einer DLL-Hilfe umgeht, um deren Funktionen von PB aus zu nutzen.

Achja, und ich finde einen Textbausteine als Antwort nicht nett und wenig hilfreich.

@spacewalker:
Die Doku zur abcAVI.dll habbich, aber die nützt mir nicht viel, solange ich nicht gebacken bekomme, wie ich die Infos dort in PB-Code umsetze :(
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
spacewalker
Beiträge: 48
Registriert: 15.07.2005 15:22
Wohnort: Stuttgart

Beitrag von spacewalker »

z.b.:

Code: Alles auswählen

Ergebnis = CallFunction(#Library, FunktionsName$ [,Parameter1 [, Parameter2...]])
Also angenommen du hast eine xy.dll, die funktion abc beinhaltet, mit der ID 1 geöffnet.

Code: Alles auswählen

OpenLibrary(1,"xy.dll")
funktion abc erwartet als parameter einen string und soll ASCII code als byte zurueck geben.

Code: Alles auswählen

b = CallFunction(1, "abc","C")
in der DLL N. 1 wird hiermit due funktion abc mit dem parameter C als string aufgerufen, diese gibt dann einen wert zurueck mit welchem variable b gefuellt wird.

Code: Alles auswählen

Debug b
sollte im falle "C" zahl 67 ergeben

Ich meine ich weiss ja nicht wirklich womit genau du ein problem hast.

P.S.
hast du das demo oder vollversion? ich bilde mir ein dass im demo etwas gesperrt ist, entweder dll benutzung oder erstellung, irgendas von den beiden - solltest du eine demo-version haben, schaue bitte nach
Ich liebe Asche und Rauch meiner Zigaretten.
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

scholly hat geschrieben: Was meinst Du denn, was ich mir in den 2 Std angesehen habe ?
Englisch und deutsche Hilfe, das pdf zu 3.20 und auch auf den PB-Sites war ich.
Nope, nix, njente, das alles hilft noch nicht mal als Einstieg, da nirgendwo ein Beispiel/Tutorial, das konkret erklärt, wie man mit den Infos in einer DLL-Hilfe umgeht, um deren Funktionen von PB aus zu nutzen.
Das stimmt aber so nicht. Wenn du in der Hilfe mal auf Library gehst und dann in dem rechten teil nach unten scrollst findest du ein beispiel was so aussieht (ist aus der hilfe von PB)

Code: Alles auswählen

If OpenLibrary(0, "USER32.DLL")

  *F = IsFunction(0, "MessageBoxA")
  If *F
    CallFunctionFast(*F, 0, "Body", "Title", 0)
  EndIf
  
  CloseLibrary(0)
EndIf
; ExecutableFormat=Windows
; EOF
Du kannst dir das auch noch mal hier anschauen da ist das Beispiel genauso
http://www.purearea.net/pb/german/manua ... index.html
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Ein schönes Tutorial von Remi_Meier:

http://mypage.bluewin.ch/remimeier/Tutorials.htm
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Hülfäää - wie benutze ich eine .dll ?

Beitrag von scholly »

moin, moin...

@spacewalker:
Ich meine ich weiss ja nicht wirklich womit genau du ein problem hast.
Ich will alle Infos aus einem Media-file (avi,mpeg1/2,mp3,ogg,etc...) auslesen uns hab für AVI die abcAVI.dll gefunden. Mangels Tutorial finde ich keinen Einsprung, wie ich lernen kann, deren Funktionen nun vob PB aus zu nutzen.
hast du das demo oder vollversion?
Vollversion :wink:

@nicolaus:
Es tut mir leid, aber aud diesem Codeschnipsel kann ich nicht lernen, wie ich generell eine Fremd-DLL nutze. Selbst wenn ich versuche, das Bespiel mit Hilfe der Win32.hlp nachzuvollziehen, stolpere ich über die Diskrepanz zwischen "MessageBoxA" im Schnipsel und "MessaggeBox/MessageBoxEx" in der WinHelp.

@Hroudtwolf:
jo, das DLL-Tutorial von Remi werd ich wohl als Grundlage nehmen, um die DLL-Nutzung "auf die harte Tour" (Try and Error mit jede Menge letzterem) zu lernen :( .
bis zum nexten mal...
scholly
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Versuch doch mal die DLL mittels folgendem Tool auszulesen. Damit kannst du den passenden PB-Source generieren.
Da es wegen der unbekannten Variablen alles auf .l setzt musst du noch
wissen bzw. googlen, welche Parameter in den Funktionen wie deklariert sind.

Mir gefällt ts-soft sein Tool sehr gut und ich konnte es schon sehr
gut einsetzen. :allright:

Da hat er endlich was Nützliches gebracht :mrgreen:

[OT]
Hoffentlich kommt später auch mal ein Tool um OCX's von VCC6 nach PB
zu generieren :mrgreen: .
[/OT]

http://www.purearea.net/pb/showcase/download.php?id=247

MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Beitrag von Blackskyliner »

Durch "Try & Error" hab ich PB kennengelernt :D ich nenns aber "Learning by Doing" :D und finds nicht verkehrt :D
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Antworten