Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[VB6] String pointer Binden/Linken

Pagina: 1
Acties:

  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 13-11 12:06

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Hey luitjes,

Ik ben bezig met wat expirimentjes voor wat programma's en nu ben ik op zoek naar het volgende:

[Textbox1] [Textbox2]

Nu wil ik de pointer van de text in Textbox2 laten verwijzen naar die van Textbox1
Dus als ik de waarde van Textbox1 aanpas dat 2 automatisch mee verandert en andersom ook.

Ik weet dat je ook textbox1.text = textbox2.text kan doen. Maar het gaat hier om een testje wat later anders gebruikt gaat worden. Dus aub niet een discussie of het nuttig is ;)

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Ik denk dat je dan moet werken met een event op TextBox1, als die wordt aangepast, dat dan de string gekopieerd wordt naar TextBox2

Going for adventure, lots of sun and a convertible! | GMT-8


  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 13-11 12:06

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Jah maar dat wil ik dus niet.
Ik wil een pointer van text1 naar text2 koppelen zodat deze elkaar beinvloeden

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 10-11 11:39

ZaZ

Tweakers abonnee

Hier een klein pseudo-code voorbeeldje maar sla maar niet die weg in.
Elke keer wanneer je een string assigned zal vb deze voor je variabele gaan opruimen en een nieuwe maken, zodat je 'kloon' naar iets wijst wat niet meer bestaat.
Als je dit met textboxen wilt wordt het helemaal een lastig verhaal omdat er geen messages naar het andere textbox worden verzonden om het window te updaten, zodat je sowieso al geen resultaat ziet tenzij je bijv het op een andere manier gaat forceren of dat het bij toeval gebeurt.

Leg maar uit wat de situatie is en waarom je denkt dat zo'n aanpak de juiste is.
Er zijn vast nette oplossingen te bedenken

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    Dim s1 As String
    Dim s2 As string
    Dim lOldPtr As Long
    
    'initializeren anders is het een nullstring
    s1 = "hoi"
    s2 = "doei"
    
    'oude pointer kopieeren
    lOldPtr = StrPtr(s1)
    'string pointer wijzigen
    CopyMemory byVal VarPtr(s1), StrPtr(s2), 4
    
    'check
    MsgBox s1
    MsgBox s2
    
    'oude pointer terugzetten voordat vb gaat opruimen als ie uit de scope gaat
    CopyMemory ByVal VarPtr(s1), loldPtr, 4
    
    'check
    MsgBox s1
    MsgBox s2

Lekker op de bank


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 18:33
Maak een string variabele die in beide tekstboxen staat en die vanuit beide kan worden veranderd. Wat je ook kunt doen is beide tekstboxen binden aan een DDE variabele en die aanpassen.

Wil je iets verder gaan dan kun je zelf een ActiveX control maken ( die bv een standaard tekstbox subclassed ) in C++ die pointers accepteert.

NB Als het niet zonder fratsen in VB6 kan pak dan alsjeblieft iets anders, een spijker met een lepel in een stuk hout slaan is niet de manier.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.