Deutsch
Forum

Problem mit Gettext$() in der SubscriptionVersion

 

Dieter
Zornow
Ich habe das Thema schon im Forum von Roland gepostet. Leider hat das Forum den Code verstümmelt.
Deshalb hier nochmals zum Download.

Ein Code ist eine Minimalbeispiel von meinem Originalcode und das andere ein wirkliches Minimalbeispiel zum Test. das Beispiel von meinem Code funktioniert mit Xprofan 10 aber nicht mehr mit der Subscritionversion von XProfan 11, das heißt ich kann die Editfelder nicht mit Gettext$() auslesen. Bei dem minimalen Beispiel funktioniert es seltsamerweise auch mit XProfan 11. Das heißt irgendetwas verhindert bei meinem Originalcode das Auslesen. Bitte mal testen wer die Subscriptionversion hat, denn XProfan 10 funktioniert ja.

In der am Schluß erscheinenden Messagebox sollte C: stehen. Die benötigte Skcontrol.dll ist im Paket dabei

Gruß aus Bangkok

Dieter

42 kB
Hochgeladen:01.11.2007
Ladeanzahl164
Herunterladen
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
01.11.2007  
 



Ja schon interessant - auch dass das GetText genau so viele Chars wiedergibt wie man beim Erstellen des Edits im String übergibt.
 
01.11.2007  
 




RGH
Hm, seid Ihr sicher, daß ihr meine korrigierte Version (einen Tag nach der fehlerhaften) benutzt? Da funktioniert getText$() wieder. Hier ein Beispiel, mit dem ich es gerade getestet habe:
KompilierenMarkierenSeparieren
declare text$, text&, ok&, cancel&
windowstyle 15 + 512
window 100, 100 - 700, 400
text& = create(edit, %hwnd, , 50, 50, 200, 20)
ok& = create(button, %hwnd, Ok, 50, 80, 80, 20)
cancel& = create(button, %hwnd, Ende, 50, 110, 80, 20)

while 1

    waitinput

    if clicked(ok&)

        messagebox(gettext$(text&), Text:, 0)

    elseif clicked(cancel&)

        break

    endif

endwhile

end

Ach ja: und wenn es auch mit der korrigierten Lieferung Probleme gibt, mache mal bitte ein Minimal-Beispiel ohne SK-Control, das Probleme bereitet.
(Es ist ja immer denkbar, das Erweiterungen an die neue Version erst angepaßt werden müssen. Das war auch beim SK-Control und XProfan 10 so, obwohl ich hier eigentlich auf dem ersten Blick keinen Anlaß sehe ... aber ich kenne ja die Internas von SK-Control nicht.)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.11.2007  
 




Dieter
Zornow
Also ich bin mir sicher, ich benutze die Datei vom 26.10.2007 - 20:53 - XPROFAN INTERPRETER 11.0ß S2
Wenn es an der SkControl liegen würde dürfte ja das zweite Beispiel auch nicht funktionieren. Ich denke es ist
schwierig ein Beispiel herzustellen das nicht funktioniert, da das ja irgendwie eine Summe von Ereignissen braucht um nicht zu funktionieren. Aber ich versuchs mal

Gruß aus Bangkok

Dieter
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
01.11.2007  
 




Dieter
Zornow
Habs herausgefunden, scheint doch mit der SKControl zusammenzuhängen, Wenn ich ein leeres Edit erzeuge kann es nicht mehr ausgelesen werden, Ich habe mal zum Test ein Edit mit einem Zeichen erstellt.
Es kann dann auch nur ein Zeichen ausgelesen werden. Das heißt soviele Zeichen wie bei der Erstellung eingeben werden kann ich auch wieder auslesen. Warum es mit Xprofan 10 geht und mit 11 nicht muss Roland wissen. Bei Profanedits geht alles.
KompilierenMarkierenSeparieren
Declare sl$,skdll&,tl&,ed&
 $I SKControl.inc
cls
skdll& = Usedll(SKControl.dll)
SKCTRL_INITDLL()
tl& = SKCtrl_CreateColorEdit(%hwnd,1,RGB(0,0,0),RGB(0,180,255),0,59,(width(%hwnd)/2),20,%hInstance)
ed& = Create(Edit,%Hwnd,,50,100,100,20)
sl$ = C:
settext tl&,sl$
settext ed&,sl$
Messagebox( Gettext$(tl&),Gettext$(ed&),0)
freedll skdll&
end

Gruß aus Bangkok

Dieter
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
01.11.2007  
 




Jac
de
Lad
Sowas beklopptes...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
01.11.2007  
 



Der Fehler ist wohl klar - die Message für die Ermittlung der Länge des zu beziehenden Textes wird nicht von der SkControl abgefangen/umgelenkt wie die Message für das Beziehen des Textes selbst.
 
01.11.2007  
 




RGH
Dieter Zornow
Warum es mit Xprofan 10 geht und mit 11 nicht muss Roland wissen.


Da das Problem nur mit der DLL auftritt, wird es nur deren Autor wissen. Es hängt vermutlich damit zusammen, dass ich keine feste maximal Stringlänge von 32767 Zeichen mehr habe, sondern eine dynamische von 0 bis MAXINT. Da auch Sebastian eine Subscriptionsversion besitzt, würde ich an Deiner Stelle das problem mal im SK-Control-Forum posten.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
01.11.2007  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.294 Betrachtungen

Unbenanntvor 0 min.
Andre Rohland25.12.2014

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie