Aufruf von selbstprogrammierten DLL"s

Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 12:12:03 von Harald Pfitzer

Hallo!

Ich möchte gerne selbstprogrammierte DLL's von PHP 5.1.4 aus benutzen.
PHP läuft bei mir unter dem Apache 2.0 und dieser wiederum auf einer
WinXP prof WS.
Ich habe bereits versucht die php_ff1.dll einzubinden, was jedoch nicht
funktioniert hat (angegebene .... konnte nicht gefunden werden).
Das Googeln und das durchforsten der NG hier hat auch nichts gebracht.

MfG
Harald

Re: Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 13:02:04 von Ulf Kadner

Harald Pfitzer wrote:

> Ich möchte gerne selbstprogrammierte DLL's von PHP 5.1.4 aus benutzen.

Diese müssen aber einen bestimmten Aufbau besitzen! Da kann man nicht
jede beliebige nutzen. OK?

> Ich habe bereits versucht die php_ff1.dll einzubinden, was jedoch nicht
> funktioniert hat (angegebene .... konnte nicht gefunden werden).

.... == Einstiegspunkt?
Also ist die DLL inkorrekt.

> Das Googeln und das durchforsten der NG hier hat auch nichts gebracht.

Das Wissen zum erstellen von Extensions dürfte auch eher in einer C-NG
gut aufgehoben sein.

Aber hast Du Dir den schon den Dokumentationabschnit auf php.net
durchgelesen, der das Erstellen von Erweiterung beschreibt?

VII. PHP and Zend Engine Internals
http://www.php.net/manual/en/internals.php

Extensionwriting.Tutorials
http://www.zend.com/php/internals/extension-writing1.php

Writing a PHP-Extension
http://talks.php.net/show/extending-php-apachecon2003/1

MfG, Ulf

Re: Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 14:03:05 von Harald Pfitzer

Danke für deine schnelle Antwort.

Ich werde die Doku genauer betrachten.

MfG
Harald

Ulf Kadner schrieb:
> Harald Pfitzer wrote:
>
>> Ich möchte gerne selbstprogrammierte DLL's von PHP 5.1.4 aus benutzen.
>
>
> Diese müssen aber einen bestimmten Aufbau besitzen! Da kann man nicht
> jede beliebige nutzen. OK?
>
>> Ich habe bereits versucht die php_ff1.dll einzubinden, was jedoch
>> nicht funktioniert hat (angegebene .... konnte nicht gefunden werden).
>
>
> ... == Einstiegspunkt?
> Also ist die DLL inkorrekt.
>
>> Das Googeln und das durchforsten der NG hier hat auch nichts gebracht.
>
>
> Das Wissen zum erstellen von Extensions dürfte auch eher in einer C-NG
> gut aufgehoben sein.
>
> Aber hast Du Dir den schon den Dokumentationabschnit auf php.net
> durchgelesen, der das Erstellen von Erweiterung beschreibt?
>
> VII. PHP and Zend Engine Internals
> http://www.php.net/manual/en/internals.php
>
> Extensionwriting.Tutorials
> http://www.zend.com/php/internals/extension-writing1.php
>
> Writing a PHP-Extension
> http://talks.php.net/show/extending-php-apachecon2003/1
>
> MfG, Ulf

Re: [OT] Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 16:56:56 von Johannes Mueller

Ulf Kadner schrieb:

> Writing a PHP-Extension
> http://talks.php.net/show/extending-php-apachecon2003/1

1a Beispiel für Ignoranz! (besucht mit IE)

Johannes

--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.

Re: Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 17:37:01 von Carsten Wiedmann

Harald Pfitzer schrieb:

> Ich möchte gerne selbstprogrammierte DLL's von PHP 5.1.4 aus benutzen.
> PHP läuft bei mir unter dem Apache 2.0 und dieser wiederum auf einer WinXP
> prof WS.
> Ich habe bereits versucht die php_ff1.dll einzubinden, was jedoch nicht
> funktioniert hat (angegebene .... konnte nicht gefunden werden).
> Das Googeln und das durchforsten der NG hier hat auch nichts gebracht.


Zuerst: Ich hab das selbst nicht nie gemacht.

Hm, ich denke nicht, dass du mit DLL eine PHP-Extension meinst. Oder doch?
Du sucht IMHO eher was wie die win32api-Extension [1] oder der ffi-Extension
[2]. (Evtl. noch die COM-Extension [3])

Wenn ich oben von einem Schreibfehler ausgeh, hast du die ffi-Extension ja
bereits versucht. Dazu die Frage: Wo hast du diese Extension her? Bei PECL
gibt es das Windowsbinary ja nur für PHP 5.0.5 [4]. Und du benutzt 5.1.4 ...

Gruß
Carsten

[1] http://de.php.net/manual/en/ref.w32api.php
[2] http://pecl.php.net/package/ffi
[3] http://de.php.net/manual/en/ref.com.php
[4] http://pecl4win.php.net/ext.php/php_ffi.dll

Re: [OT] Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 19:35:22 von Ralf Zschemisch

Am Fri, 14 Jul 2006 16:56:56 +0200 schrieb Johannes Mueller:

>> Writing a PHP-Extension
>> http://talks.php.net/show/extending-php-apachecon2003/1
>
> 1a Beispiel für Ignoranz! (besucht mit IE)

und auf die Seiten-Zahl 1/22 geklickt?

hth

r23

--
http://www.myoos.de/fraktal/zoom.php

Re: [OT] Aufruf von selbstprogrammierten DLL"s

am 14.07.2006 22:11:24 von Ulf Kadner

Johannes Mueller wrote:

>> Writing a PHP-Extension
>> http://talks.php.net/show/extending-php-apachecon2003/1
>
> 1a Beispiel für Ignoranz! (besucht mit IE)

:-) Da ich IE nie nutze ist mir das gar nicht aufgefallen.

Aber ich finds nett. :-x

"IE is not supported - please use Firefox, Safari, Konqueror or just
about anything else." liest man doch eher selten im Netz.

MfG, Ulf

Re: [OT] Aufruf von selbstprogrammierten DLL"s

am 15.07.2006 09:00:40 von Matthias Esken

On Fri, 14 Jul 2006 22:11:24 +0200, Ulf Kadner wrote:

> Johannes Mueller wrote:
>
>>> Writing a PHP-Extension
>>> http://talks.php.net/show/extending-php-apachecon2003/1
>>
>> 1a Beispiel für Ignoranz! (besucht mit IE)
>
> :-) Da ich IE nie nutze ist mir das gar nicht aufgefallen.
>
> Aber ich finds nett. :-x
>
> "IE is not supported - please use Firefox, Safari, Konqueror or just
> about anything else." liest man doch eher selten im Netz.

Mit Firefox geht's bei mir nicht. Ich komme noch auf die slidelist.php und
von dort gehen alle Links auf die gleiche Seite. :-(

Gruß,
Matthias

Re: [OT] Aufruf von selbstprogrammierten DLL"s

am 15.07.2006 11:10:40 von Ulf Kadner

Matthias Esken wrote:

>>Ulf Kadner wrote:
>>>>http://talks.php.net/show/extending-php-apachecon2003/1
>>
> Mit Firefox geht's bei mir nicht. Ich komme noch auf die slidelist.php und
> von dort gehen alle Links auf die gleiche Seite. :-(

:-)

Muss man wohl auch noch JS aktivieren. Ist schon ziemlich grässlich was
die auf Talks.PHP.NET so anbieten. Aber wenn mans wirklich lesen will,
kann man ja mal schnell das Häckchen bei "JS enabled" im Browser setzen.

Oder gibts Bedenken zum aktivieren von JS auf php.net? ;-)

MfG, Ulf

Re: [OT] Aufruf von selbstprogrammierten DLL"s

am 15.07.2006 13:39:10 von Matthias Esken

On Sat, 15 Jul 2006 11:10:40 +0200, Ulf Kadner wrote:

> Matthias Esken wrote:
>
>>> Ulf Kadner wrote:
>>>>> http://talks.php.net/show/extending-php-apachecon2003/1
>>>
>> Mit Firefox geht's bei mir nicht. Ich komme noch auf die slidelist.php und
>> von dort gehen alle Links auf die gleiche Seite. :-(
>
> Muss man wohl auch noch JS aktivieren. Ist schon ziemlich grässlich was
> die auf Talks.PHP.NET so anbieten. Aber wenn mans wirklich lesen will,
> kann man ja mal schnell das Häckchen bei "JS enabled" im Browser setzen.
>
> Oder gibts Bedenken zum aktivieren von JS auf php.net? ;-)

Nö, ich wollt' nur mal wieder quengeln. ;-)

Gruß,
Matthias

Re: Aufruf von selbstprogrammierten DLL"s

am 17.07.2006 08:32:29 von Harald Pfitzer

Carsten Wiedmann schrieb:
> Harald Pfitzer schrieb:
>
>> Ich möchte gerne selbstprogrammierte DLL's von PHP 5.1.4 aus benutzen.
>> PHP läuft bei mir unter dem Apache 2.0 und dieser wiederum auf einer
>> WinXP prof WS.
>> Ich habe bereits versucht die php_ff1.dll einzubinden, was jedoch
>> nicht funktioniert hat (angegebene .... konnte nicht gefunden werden).
>> Das Googeln und das durchforsten der NG hier hat auch nichts gebracht.
>
> Hm, ich denke nicht, dass du mit DLL eine PHP-Extension meinst. Oder
> doch?
meine ich doch !
> Du sucht IMHO eher was wie die win32api-Extension [1] oder der
> ffi-Extension [2]. (Evtl. noch die COM-Extension [3])

ich benötige die Möglichkeit auf eine eigen (in C) programmierte DLL
zuzugreifen.
Windows-API's per ffi-Extension waren nur für einen ersten Test gedacht.

Ziel ist es eine Schnittstelle für den Zugriff auf die S7 von Siemens
unter HTML/PHP oder Java zu realisieren.
Eine Programm und eine Schnittstelle für VB DOT-NET ist bereits
vorhanden und läuft.
Da das ganze nun aber unter HTML/PHP/Java realisiert werden soll,
benötige ich die oben erwähnte Möglichkeit.

> Wenn ich oben von einem Schreibfehler ausgeh, hast du die ffi-Extension
> ja bereits versucht.
richtig

> Dazu die Frage: Wo hast du diese Extension her? Bei
> PECL gibt es das Windowsbinary ja nur für PHP 5.0.5 [4].
stimmt !
Und du benutzt
> 5.1.4 ...
genau das ist mein Problem.


MfG Harald Pfitzer

Re: Aufruf von selbstprogrammierten DLL"s

am 17.07.2006 15:32:51 von Harald Pfitzer

Hallo !
Ich habe nun eine Lösung für VB6, benötige jedoch eine Lösung für VB2005EX.
Hier ein Beispiel:

Eine unter VB6 erstellte ActiveX-DLL kann unter WinXP per regsvr32
registriert werden.
Somit ist es auch möglich, diese von PHP heraus zu benutzen.

Eine unter VB2005EX oder VS2003-VB erstellte Klassenbibliothek (.DLL)
jedoch kann nicht per regsvr32 registriert werden.

Es erscheint die Fehlermeldung, dass diese DLL nicht registriert werden
kann.
Kann mir jemand sagen, was der Unterschied zwischen den beiden
VB-Klassen ist.

Hier ein Beispiel, welches unter VB6 funktioniert:

Erzeuge eine ActiveX-DLL (Visual Basic 6)
Benenne das Projekt als "foo" und die Klasse als "bar".
'---- start VB-Code ----
public function hallo() as string
hallo = "Hallo Welt"
end function
'---- ende VB-Code ----

Anschl.
copy foo.dll c:\windows\system32
regsvr32 c:\windows\system32\foo.dll

Nun kann ich diese z.B.: in ein PHP-Script einbinden und auch verwenden
z.B. so:

$obj = new COM("foo.bar");
$output=$obj->hallo(); // rufe die Methode hallo() auf
echo $output; // zeigt die Rückgabe Hallo Welt
?>

Wenn jemand eine Idee hat, warum die Klassenbibliothen von VB2005EX
nicht funktionieren, wäre ich für eine Info dankbar.

MfG Harald

Re: Aufruf von selbstprogrammierten DLL"s

am 17.07.2006 19:41:58 von Ulf Kadner

Harald Pfitzer wrote:

> Ich habe nun eine Lösung für VB6, benötige jedoch eine Lösung für VB2005EX.

Damit bist Du in ner PHP NG sicher richtig! :-)

> Eine unter VB6 erstellte ActiveX-DLL kann unter WinXP per regsvr32
> registriert werden.

Dann scheint diese "nur" eine native-DLL zu sein. VB6 hatte doch mit dem
..NET-Framework noch nix zu tun oder?

> Eine unter VB2005EX oder VS2003-VB erstellte Klassenbibliothek (.DLL)
> jedoch kann nicht per regsvr32 registriert werden.

Doch, aber nur wenn diese ohne Frameworkkrams in nativen Code
geschrieben wurde. (nehme ich an)

> Wenn jemand eine Idee hat, warum die Klassenbibliothen von VB2005EX
> nicht funktionieren, wäre ich für eine Info dankbar.

Wie waers wenn Du derartiges in der passenden NG nachfragst?

MfG, Ulf

Re: Aufruf von selbstprogrammierten DLL"s

am 18.07.2006 08:05:02 von Harald Pfitzer

Ulf Kadner schrieb:

> Harald Pfitzer wrote:

> Wie waers wenn Du derartiges in der passenden NG nachfragst?
Tja -- Sollte eigentlich nur als Info gelten, da hier in dieser NG
anscheinend keiner so richtig Ahnung hat wie man selbst erstellte
Klassenbibliotheken in PHP einbindet.

Und -- es könnte ja sein, dass es in dieser NG auch andere gibt welche
vor dem gleichen Problem stehen wie ich.

MfG Harald