Italia
Foro

Lokales Dim in Prozedur mit Endproc automatisch disposed?

 
Diese Proc...
KompilierenMarkierenSeparieren
Proc XSciProf.GetLine$

    Parameters Nr%
    Declare Len%, Zeile#
    Dim Zeile#,32767
    Len% = .SciMessage(~SCI_GETLINE, Nr%, Zeile#)
    Return Translate$(Char$(Zeile#,0,Len%-1),"	",Space$(XSciProf.Tab%))

E
...gab mir etwas zu denken zumal Roland sie vielleicht in der Hand hatte.

Natürlich bemängelt xpse das hier ein dispose fehlt. Hat er nun recht oder nicht?
 
23.08.2006  
 




Jac
de
Lad
Hm, eine sehr interessante Frage! Ich Dispose immer, bevor ich eine Proc verlasse, es gibt ja auch nirgendwo einen Hinweis, dass automatisch disposed wird!

Jac
 
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
23.08.2006  
 



Der Speicher wird nicht automatisch Disposed, aber die Bereichsvariable wird wohl ungültig, so das der reservierte Speicher irgendwann mal von Windows (ab W2K) freigegeben wird. Bei Win9x kann sowas böse folgen haben, wenn die Proc öfter aufgerufen wird
 
23.08.2006  
 




RGH
Ja, es wäre geschickter die Prozedur so zu schreiben:
KompilierenMarkierenSeparieren
!

Proc Xsciprof.getline$

    Parameters Nr%, Zeile$
    Declare Len%, Zeile#
    Dim Zeile#,32767
    Len% = .Scimessage(~Sci_getline, Nr%, Zeile#)
    Zeile$ = Translate$(Char$(Zeile#,0,Len%-1),"	",Space$(Xsciprof.tab%))
    Dispose Zeile#
    Return Zeile$

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
23.08.2006  
 




Jörg
Sellmeyer
Oder mit einer Stringvariablen:
KompilierenMarkierenSeparieren
Proc Xsciprof.getline$

    Parameters Nr%, Zeile$
    Declare Len%, Z$
    Z$ = MkStr$("z",32767)
    Len% = .Scimessage(~Sci_getline, Nr%, Addr(Z$))
    Return  Translate$(Left$(Z$,Len%-1),"	",Space$(Xsciprof.tab%))

E

@TS-Soft:Na klar, meinte ich auch!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.08.2006  
 



@Jörg
Wenn ich mich nicht täusche, wirste aber dann Z$ als Addr(Z$) trasferimento müssen
 
23.08.2006  
 




Jörg
Sellmeyer
Hier tritt es nochmal auf (XPrfEditClass.prf):
KompilierenMarkierenSeparieren
Proc XSciProf.GetWord

    Declare Wort$, Wort#, pos&, wStart&, wEnde&
    pos&  = .SciMessage(~SCI_GETCURRENTPOS,0,0)
    wStart& = .SciMessage(~SCI_WordStartPosition, pos&, 1)
    wEnde&  = .SciMessage(~SCI_WordEndPosition, pos&, 1)
    Dim Wort#,wEnde& - wStart& + 1
    .SciMessage(~SCI_SetSelectionStart,wStart&,0)
    .SciMessage(~SCI_SetSelectionEnd,  wEnde&, 0)
    .SciMessage(~SCI_GetSelText, 0, Wort#)
    Wort$ = String$(Wort#,0)
    Return Wort$

Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.08.2006  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.721 Views

Untitledvor 0 min.
rquindt11.05.2018
Joerg27.06.2016

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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