Autor Thema: Declare Function xxx Lib "user32" crasht Linux- Client  (Gelesen 1698 mal)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Ich habe eine Script- Library, die einige Funktionen wie oben deklariert.

Diese Deklarationen bringen (logischerweise) den Linux- Client zum Absturz.

Wie mache ich das, dass der diese Declarationen (und die entsprechenden Funktionen) nur ausführt, wenn ClientType = Windows?

Es handelt sich sowieso nur im Komfort- Funktionen, auf die die wenigen Linux- User dann halt verzichten müssten, bis ich einen Ersatz dafür gefunden habe...

Thanx
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Declare Function xxx Lib "user32" crasht Linux- Client
« Antwort #1 am: 04.05.11 - 13:43:53 »
Das Declare sollte keine Probleme bereiten. Allerdings wird der Aufruf der Funktion den Client crashen.

Du kannst die WIN relevanten Teile z.B. mit einem

If isDefined("WINDOWS") Then
 ... Code
else
 ... mach nix

end if

entsprechend ausklammern
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Jeremias

  • Junior Mitglied
  • **
  • Beiträge: 64
  • Geschlecht: Männlich
Re: Declare Function xxx Lib "user32" crasht Linux- Client
« Antwort #2 am: 04.05.11 - 13:56:18 »
Und wenn Du dann OS-spezifische Funktionsaufrufe machen willst :
Code
Select Case s.Platform
Case "Windows/32":
'Aufruf der Windows-Funkton
Case "Macintosh":
'Aufruf der Mac-Funktion
Case "Linux":
'Aufruf der Linux-Funktion	
Case Else : Messagebox "CTI-Funktion auf dieser Plattform nicht unterstützt."
End Select		

Gruß
Wo kämen wir hin, wenn alle sagten "Wo kämen wir hin!". Und niemand ginge, um einmal zu schauen, wohin man käme, wenn man ginge ...

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Declare Function xxx Lib "user32" crasht Linux- Client
« Antwort #3 am: 04.05.11 - 14:01:53 »
Eventuell hilft dir auch %If weiter.

Code
Dim winTitle As String * 80
%If WIN16                      ' 16-bit Windows
   Dim activeWin As Integer    ' Window handles are Integer.
   Declare Function GetActiveWindow% Lib "User" ()
   Declare Function GetWindowText% Lib "User" _
         (ByVal hWnd%, ByVal lpstr$, ByVal i%)
%ElseIf WIN32                  ' 32-bit Windows
   Dim activeWin As Long       ' Window handles are Long.
   Declare Function GetActiveWindow& Lib "User32" ()
   Declare Function GetWindowText% Lib "User32" _
          Alias "GetWindowTextA" _
      (ByVal hWnd&, ByVal lpstr$, ByVal i&)
%End If

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Declare Function xxx Lib "user32" crasht Linux- Client
« Antwort #4 am: 04.05.11 - 17:05:50 »
Danke für die Zahlreichen Tipps, bin gerade dran das mal auszuprobieren... Ich dachte, ich müsste die Declares schon verhindern, die anderen Sachen waren mir (zumindest Teilweise) bekannt...

Thanx
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz