MyPhoneExplorer und Linux/Wine

Alles was sonst nirgendwo reinpasst
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

Ja gut, das sind ja auch Infos die mir zum Verständnis fehlten. Dann werde ich mich mal auf die Suche machen ob ich was zum Thema MSComm unter Wine/Linux finde... :)
weinbi
Moderator
Beiträge: 929
Registriert: Mo 11. Jun 2007, 11:25
Wohnort: Kärnten
Kontaktdaten:

Beitrag von weinbi »

Soweit ich rausgefunden habe, sollten sowohl die MSComm als auch andere ActiveX-Controls gehn...



BTW: Wenn man bei Google "wine" und "MSComm" eintippt, ist der erste Treffer dein Forum mit diesem Thread hier! :wink:
English FAQ || Deutsche FAQ
----------------------------------
HTC Desire
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

weinbi hat geschrieben:BTW: Wenn man bei Google "wine" und "MSComm" eintippt, ist der erste Treffer dein Forum mit diesem Thread hier! :wink:
Hehe... das gleiche Ergebnis hatte ich auch. :)

Zum Thema Wine und MSComm habe ich allerdinx hauptsächlich was zum Thema Wein gefunden.... Habe da wohl noch nicht genau genug gesucht. *g* Ich wollte aber auch nochmal die Consolenausgabe genau untersuchen.
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

FJ hat geschrieben:Das mit .NET können wir vergessen - kann ich ibn VB6 nicht nutzen.
Nur mal so am Rande: Wenn ich mich recht erinnere ist die VB.NET 2005 Express Edition für private, nicht kommerzielle Zwecke kostenlos. Ich habe mir vor Ewigkeiten auch die Express Edition runtergeladen und die ist IMHO einiges besser als VB6 da vieles einfacher umzusetzen ist (z.B. Multithreading ist über das Backgroundworker-Objekt nur eine Sache von ein paar Klicks - genauso einfach wie nen Timer!)
Solltest Du mal langeweile haben, kannste Dir das ja mal anschauen und einfach mal versuchen was passiert wenn Du das VB6-Projekt dort importierst bzw. mal mit dem System.IO ein wenig rumspielen.

Ich werde mir dann jetzt mal weiter die Consolenausgaben anschauen...
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

Konsolenausgabe beim Verbindungsaufbau mit MSComm:

Code: Alles auswählen

err:statusbar:StatusWindowProc unknown msg 2210 wp=0001 lp=000402a8
err:progress:ProgressWindowProc unknown msg 2210 wp=0001 lp=000402a6
fixme:comm:set_queue_size insize 8192 outsize 8192 unimplemented stub
fixme:comm:GetCommProperties (0x154 0x33cb70 )

Konsolenausgabe beim Verbindungsaufbaue über die stabile Verbindung:

Code: Alles auswählen

err:statusbar:StatusWindowProc unknown msg 2210 wp=0001 lp=000203b6
err:progress:ProgressWindowProc unknown msg 2210 wp=0001 lp=000203b8
fixme:comm:set_queue_size insize 8192 outsize 8192 unimplemented stub
err:progress:ProgressWindowProc unknown msg 2210 wp=0001 lp=000203b4
err:statusbar:StatusWindowProc unknown msg 2210 wp=0001 lp=000203b2
err:header:HEADER_WindowProc unknown msg 2210 wp=0001 lp=000203ae
Das Problem scheint bei der Klasse/Methode GetCommProperties oder der darauf folgenden Routine zu liegen. Entweder funktioniert die nicht im Wine oder sie liefert nicht das zurück was sie eigentlich sollte, was somit einen Fehler in Deinem Programm verursacht. Das Teil befindet sich in der Kernel32.dll.

Nachtrag: Ich habe noch ein wenig gegoogelt und bin mehrfach auf ähnliche Fehler bei anderen Programmen gestossen und die Meldung fixme:comm:GetCommProperties (0x154 0x33cb70 ) deutet tatsächlich auf einen Bug in Wine hin.

@FJ: Hast Du vielleicht eine Möglichkeit diesen Fehler zu umgehen bzw. den Quellcode ein wenig zu modifizieren? Ich weiß ja nicht wofür die GetCommProperties genau zuständig ist. Aus den bei Google gefundenen Erklärungen bin ich nur bedingt schlau geworden... :?
weinbi
Moderator
Beiträge: 929
Registriert: Mo 11. Jun 2007, 11:25
Wohnort: Kärnten
Kontaktdaten:

Beitrag von weinbi »

Also das GetCommProperties scheint tatsächlich noch nicht richtig implementiert zu sein, denn der Bug ist auf der offiziellen Bug-Mailing-List von wine. Seit 2005! :cry:

http://www.winehq.org/pipermail/wine-bu ... 14596.html


Soweit ich rausgefunden habe, liefert es u.a. Informationen über die Verbindung bzw. den Verbindungstreiber (Baudrate, Schnittstelle / Protokoll, usw.).
Hoffe dass ich da richtig liege...
English FAQ || Deutsche FAQ
----------------------------------
HTC Desire
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

Hättest Du den o.g. Bug genau gelesen, hättest Du auch den Link zum Bugzilla von Wine gefunden - und da ist dieser Bug FIXED! ;)

Aber dafür gibt es noch viele weitere die noch nicht gefixed sind. :(
weinbi
Moderator
Beiträge: 929
Registriert: Mo 11. Jun 2007, 11:25
Wohnort: Kärnten
Kontaktdaten:

Beitrag von weinbi »

Ups...
Hab nicht so genau geschaut... :oops:


Aber wenn es gefixt ist, wo ist dann das Problem?


Mit welcher Wine-Version arbeitest du eigentlich?
English FAQ || Deutsche FAQ
----------------------------------
HTC Desire
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

Das Problem ist das der eine Bug gefixed ist um das dort erwähnte Programm zur Funktion zu überreden. Aber in der Regel beinhaltet eine Klasse oder Methode mehr als nur eine Zeile Code, soll also heissen das es natürlich noch mehr Möglichkeiten für Bugs gibt. Und wenn man noch ein wenig die Suchmaschinen bemüht findet man auch noch eine ganze Menge zum Thema. Manche sind gravierend, manche wiederum unwichtig, manche sind fixed, andere wiederum nicht. Man kann also nicht pauschal sagen das die GetCommProperties nun fehlerfrei sind oder nicht nur weil ein Programm läuft und ein anderes nicht. Verstehst Du wie ich das meine?

Bei Wine habe ich immer die neueste im Einsatz, also zur Zeit müsste das die 0.9.41 sein, als OS läuft Ubuntu 7.04.
weinbi
Moderator
Beiträge: 929
Registriert: Mo 11. Jun 2007, 11:25
Wohnort: Kärnten
Kontaktdaten:

Beitrag von weinbi »

Ja klar versteh ich das, da hätt ich auch selbst drauf kommen können! :wink:


Das heißt man müsste etwas genauer Eingrenzen, auf was da genau zugegriffen wird, dann könnte man es vielleicht fixen...
English FAQ || Deutsche FAQ
----------------------------------
HTC Desire
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

Genau. Deshalb ja auch meine Frage an FJ ob er die Klamotte vielleicht irgendwie umgehen kann oder anders lösen - und sei's nur um's erstmal zu testen ob's dann vielleicht funktioniert.
FJ
Site Admin
Beiträge: 32113
Registriert: Mi 15. Feb 2006, 01:16
Wohnort: Tirol

Beitrag von FJ »

MyPhoneExplorer ruft nicht direkt GetCommProperties auf, diese API-Funktion wird von MSComm automatisch aufgerufen. Ich denke es wäre zielführender wenn wir uns nach einer anderen ActiveX-Bibliothek umschauen.
Wenn ich mich recht erinnere ist die VB.NET 2005 Express Edition für private, nicht kommerzielle Zwecke kostenlos.
Hast du eine ungefähre Ahnung wie lange es dauern wird ca. 55.000 Zeilen Code zu portieren ?
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

FJ hat geschrieben:Hast du eine ungefähre Ahnung wie lange es dauern wird ca. 55.000 Zeilen Code zu portieren ?
Lass mich raten: Mehr als 5min.??? :wink:

Ich denke eine komplette Portierung wäre natürlich sehr aufwändig. Die Frage wäre was VB.NET zu Deinem Quellcode sagt. Denke aber das das a) nicht so ohne weiteres funktionieren würde und b) für nen Test viel zu aufwändig wäre... :(
FJ
Site Admin
Beiträge: 32113
Registriert: Mi 15. Feb 2006, 01:16
Wohnort: Tirol

Beitrag von FJ »

Ich bin ja schon an der Portierung dran, allein deshalb weil ActiveX am Aussterben ist. Ich versuche momentan 20% meiner zeit in die Portierung zu investieren - das wird Monate dauern. vergesst das mal ganz schnell wieder.
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

sag ich ja...

Ne andere Frage: Ist es denn sehr aufwändig MSComm und die "Standard-Verbindung" parallel laufen zu lassen? Ich denke den meisten Linux-Usern ist erstmal damit geholfen das sie ihr Handy verwalten können etc. "Bonus-Features" wie ein automatisches benachrichtigen bei neuen SMS etc. sind z.B. für mich unwichtig.
Ansich funktioniert Deine Soft bzw. die wichtigen Funktionen ja scheinbar einwandfrei.
Winer

@weinbi

Beitrag von Winer »

Anonymous hat geschrieben:hmm, ich denke im zweifelsfall liegt es eher an der wine-version als an der distribution.

zusammenfassung für die installation:

1. vb 6 steuerelemente installieren

2. oleaut32.dll besorgen, in den system32 ordner von wine kopieren und in winecfg die überschreibung (native, windows) aktivieren!

3. stdole2.tlb runterladen, in system32 kopieren, folgenden Code eingeben:

Code: Alles auswählen

wine regsvr32 oleaut32.dll
4. alle DLLs aus der ZIP-Datei von MPE per Hand in wine registrieren:

Code: Alles auswählen

wine regsvr32 dll.dll
____________________________________

Verbindung über Datenkabel kommt nicht zustande :-(

habe COM1 mit folgendem Code für wine registriert:

Code: Alles auswählen

~$ .wine/dosdevices$ ln -s /dev/ttyACM0 com1

MPE sagt schon wenn ich auf Datei -> Einstellungen gehe: Systemerror: 0 [Success]
kann dann aber Einstellungen vornehmen. (also COM1 eingetragen z.B.)
wenn ich dann auf Verbinden gehe, kann er COM1 öffnen, geht ungefähr bis zur Hälfte des Ladebalkens, bleibt bei "Identifizierung..." stehen und sagt "Handy konnte nicht identifiziert werden"
das war ich, habe ganz vergessen meinen Namen einzutragen.
nachdem ich "sichere Verbindung" aktiviert habe hat auch bei mir die Verbindung einwandfrei geklappt! Ich benutze übrigens das mitgelieferte USB-Kabel!
mittels folgendem Code ging es einwandfrei:

Code: Alles auswählen

:~/$ cd ~/.wine/dosdrive/
:~/.wine/dosdevices$ ln -s /dev/ttyACM0 com1
(darauf achten ob schon com1 in dosdevices angelegt ist, wenn ja, löschen oder anderen com-port wählen)

weinbi, könntest du noch die USB-Verbindung in dein Howto einfügen?

_________________________________
Distribution: Ubuntu Edgy Eft (6.10)
Wine-Version: 0.9.22
weinbi
Moderator
Beiträge: 929
Registriert: Mo 11. Jun 2007, 11:25
Wohnort: Kärnten
Kontaktdaten:

Beitrag von weinbi »

@Winer
Klar kann ich das!
Hättest aber auch einfach einen "Post Reply" machen können! :wink:
Ach ja, wegen deiner Bemerkung
(darauf achten ob schon com1 in dosdevices angelegt ist, wenn ja, löschen oder anderen com-port wählen)
Deswegen verwende ich auch den Befehl

Code: Alles auswählen

ln -is
Da fragt er dann nämlich nach ob er die Datei ersetzen soll.


@FJ
Wohin portierst du es denn, wenn man fragen darf? In .NET oder wohin?
Rein aus Interesse...
English FAQ || Deutsche FAQ
----------------------------------
HTC Desire
FJ
Site Admin
Beiträge: 32113
Registriert: Mi 15. Feb 2006, 01:16
Wohnort: Tirol

Beitrag von FJ »

VB.NET
DarkSoul
Beiträge: 80
Registriert: Mi 6. Dez 2006, 19:51
Kontaktdaten:

Beitrag von DarkSoul »

Sehr gut! ;) Wobei ich gestern noch ein wenig experimentiert habe und skeptisch bin ob das nachher dann auch problemlos mit mono funktionieren wird... Solltest Du irgendwann mal eine Alpha- oder Beta-Version zum Test haben, stürze ich mich gerne für Dich und die Linuxer ins Unglück... ;)
weinbi
Moderator
Beiträge: 929
Registriert: Mo 11. Jun 2007, 11:25
Wohnort: Kärnten
Kontaktdaten:

Beitrag von weinbi »

Ich bin eigentlich recht zuversichtlich! Mono läuft eigentlich schon relativ gut!

Ich würde mich natürlich auch zum Testen bereiterklären! Ist doch logisch... :D
English FAQ || Deutsche FAQ
----------------------------------
HTC Desire
Antworten