Pergunta : tipo vba do argumento do byref do erro da má combinação

não sure como resolver este error.
I ter uma função em um módulo padrão, isso começ os valores e chama o método apropriado da classe para fazer algum que processa e retornar então um value.

the que CWValuein variável é resposta do highlighted
a rapidamente seria muito appreciated.

regards adiantado
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
função >Public notpretty CreateTestClass " do class= " do id= " codeSnippet805276 do
 0 então
contador = + 1000 contrário



Mais



Terminar se

Se InStr (StrCWEngineIn, StrClientEngineIn) > 0 então
contador = + 1000 contrário
Mais

Terminar se

'***************************************************************************

'verific a família
'' cw instring para diante ao cliente
Se FamilyInstr (StrCWEngineIn, StrClientEngineIn) = "" então


Mais

contador = + 100 contrários
Terminar se




'***************************************************************************
'verific erros tipográficos

StrTypo = DecodeEngine (StrCWEngineIn, StrClientEngineIn)
Se StrTypo = “erro tipográfico” então

    contador = + 10 contrários

Mais
'não fazer nada
Terminar se


'****************************************************************************
'começ a contagem da classificação do caráter

intcount = CharacterRank (StrCWEngineIn, StrClientEngineIn)

contador = contrário + intcount

'***************************************************************************

'' ***************************************************************************
'' Teste técnico bhp
'Se CurrentProject.AllForms (“cano principal”) .IsLoaded então
'
'BHPIn = [formulários]! [Cano principal]! [CALC BHP]
'
'
'Mais
'
'
'Terminar se

'o fim de compara
Terminar se


Terminar se


GetEngineRank = contrário * 100

Função do fim
Função pública CharacterRank (StrEng1 como a corda, strEng2 como a corda) como por muito tempo
Interruptor não ofuscante como o cronômetro

lIndex não ofuscante como por muito tempo
lLoopPosition não ofuscante como por muito tempo
lCharacterPosition não ofuscante como por muito tempo
iCounter não ofuscante como por muito tempo
StrWantedCharacter não ofuscante como a corda
StrTemp não ofuscante como a corda
'Ajustar interruptor = cronômetro novo
'sw.StartTimer


'relacionar à corda mais curta como laços de controles deste comprimento e sentido do instr
Se Len (strEng2) < Len (StrEng1) então
    'trocá-los
    strEng2 = strEng2 + StrEng1
    StrEng1 = saido (strEng2, Len (strEng2) - Len (StrEng1))
    strEng2 = direito (strEng2, Len (strEng2) - Len (StrEng1))

Terminar se

'começ o mais curto len
lIndex = Len (StrEng1)
'o strtemp torna-se igual à corda a mais longa porque este é esse que nós queremos encurtar para cada laço
StrTemp = strEng2

'laço em torno da corda
            Para o lLoopPosition = 1 ao lIndex
               'começ o caráter individual que começa no início da corda
               StrWantedCharacter = meados de (StrEng1, lLoopPosition, 1)
               'começ a posição de nosso caráter da corda a mais longa
               lCharacterPosition = InStr (strEng2, StrWantedCharacter)
               'o caráter encontrou na corda a mais longa
               Se <> 0 de InStr (StrTemp, StrWantedCharacter) então
                    'remover o caráter da corda do temp
                    StrTemp = substitui (StrTemp, meados de (strEng2, lCharacterPosition, 1), "", 1)
                    'incrementar o contador
                    iCounter = iCounter + 1
               Terminar se
           lLoopPosition seguinte





'processtime = sw.EndTimer & “milissegundos”
'Debug.Print sw.EndTimer
'iCounter de Debug.Print
CharacterRank = iCounter



Função do fim
Função pública NomRank (StrClient como a corda, CWNomIn como o dobro) como o inteiro


ValueIn não ofuscante como o dobro
StrReturnedFromClientString não ofuscante como a corda

Se IsNull (CWNomIn) então
    ValueIn = 0
Mais
    ValueIn = CWNomIn
Terminar se

StrReturnedFromClientString = GetCC (StrClient)
Se StrComp (CStr (ValueIn), StrReturnedFromClientString, 1) = falso então
    NomRank = 1
    Retirar a função
Terminar se


NomRank = 0
Função do fim




Função pública KWRank (de ClientIn variação tão, CWKWIn quanto por muito tempo, varianceIn opcional como o inteiro) como o inteiro

ValueMin não ofuscante como por muito tempo
ValueMax não ofuscante como por muito tempo
ValueIn não ofuscante como por muito tempo
ValueCWIn não ofuscante como por muito tempo
Escurecer A como por muito tempo

ValueCWIn = CWKWIn

Se (varianceIn) = 0 então

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Mais

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Terminar se


    Se ValueCWIn = ClientIn então
       KWRank = 2
       Retirar a função
    Mais
      Para A = ValueMin a ValueMax
        Se ClientIn = A então
           KWRank = 1
           Retirar a função
        Terminar se
      Em seguida A
    Terminar se
    
KWRank = 0

Função do fim

Função pública BhpRank (de ClientIn variação tão, CalcBHP quanto por muito tempo, varianceIn opcional como o inteiro) como o inteiro

ValueMin não ofuscante como por muito tempo
ValueMax não ofuscante como por muito tempo
ValueIn não ofuscante como por muito tempo
ValueCWIn não ofuscante como por muito tempo
Escurecer A como por muito tempo

ValueCWIn = CalcBHP

Se (varianceIn) = 0 então

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Mais

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Terminar se


    Se ValueCWIn = ClientIn então
       BhpRank = 2
       Retirar a função
    Mais
      Para A = ValueMin a ValueMax
        Se ClientIn = A então
           BhpRank = 1
           Retirar a função
        Terminar se
      Em seguida A
    Terminar se
    
BhpRank = 0

Função do fim



Função pública ValveRank (de ClientStr variação tão, CWCylindersIn quanto o inteiro)
ValueIn não ofuscante como o inteiro
ClientValveCount não ofuscante como por muito tempo
CylinderCountIn não ofuscante como por muito tempo

 Se IsNull (CWCylindersIn) então
    ValueIn = 0
            
 Mais
    CylinderCountIn = CWCylindersIn
   
 Terminar se


 
 Se IsNull ([formulários]! [cano principal]! [VÁLVULAS POR O CILINDRO]. Valor) então
    ValueIn = 0
            
 Mais
    ValueIn = [formulários]! [cano principal]! [VÁLVULAS POR O CILINDRO]. Valor * CylinderCountIn
     ClientValveCount = GetNumValves (ClientStr)
 Terminar se

Se ValueIn = ClientValveCount e ValueIn > 0 então
    ValveRank = 1
    Retirar a função
Terminar se

 ValveRank = 0



Função do fim

Função GetNumValves (texto)
    Posição não ofuscante como o inteiro
    Fazer
        posição = InStr (posição + 1, texto, “V”)
        Se posição > 2 então
            Se meados de (texto, posição - 2, 2) como o “##” então
                GetNumValves = Val (meados de (texto, posição - 2, 2))
                Retirar a função
            Terminar se
        Terminar se
        Se posição > 1 então
            Se meados de (texto, posição - 1, 1) como “#” então
                GetNumValves = Val (meados de (texto, posição - 1, 1))
                Retirar a função
            Terminar se
        Terminar se
    Dar laços quando posição
    GetNumValves = 0
Função do fim


Função pública FuelRank (StrClient, CWFuelIn como a corda) como por muito tempo
ValueIn não ofuscante como a corda
Se IsNull (CWFuelIn) então
    ValueIn = ""
Mais
    ValueIn = CWFuelIn
Terminar se

Se StrComp (deixado (ValueIn, 1), StrClient, 1) = falso então
    FuelRank = 1
    Retirar a função
Terminar se

 FuelRank = 0

Função do fim
Função pública DoorRank (ClientStr como a corda, CWDoorsIn como o inteiro) como o inteiro

ValueIn não ofuscante como o inteiro
ClientDoorCount não ofuscante como por muito tempo

 Se IsNull (CWDoorsIn) então
    ValueIn = 0
            
 Mais
    ValueIn = CWDoorsIn
     ClientDoorCount = GetDoors (ClientStr)
 Terminar se

Se ValueIn = ClientDoorCount e ValueIn > 0 então
    DoorRank = 1
    Retirar a função
Terminar se

 DoorRank = 0

Função do fim
Função pública TransmissionRank (ClientStr como a corda, CWTransmissionIn como a corda)
ValueIn não ofuscante como a corda




 
 Se IsNull (CWTransmissionIn) então
    ValueIn = ""
            
 Mais
    ValueIn = CWTransmissionIn
     
 Terminar se

Se StrComp (ValueIn, ClientStr, 1) = falso então
    TransmissionRank = 1
    Retirar a função
Terminar se

TransmissionRank = 0

Função do fim
Função GetDoors (ClientStr como a corda) como o inteiro
Regex não ofuscante como o objeto
Fósforo não ofuscante como o objeto

    Ajustar o regex = o CreateObject (“vbscript.regexp”)
    'filtrar para os numerais e o “d separados pelo espaço”
    regex. Teste padrão = “[0-9] + d”

    'desligar o caso
    regex.IgnoreCase = retificam
    'criar o objeto

    Ajustar o fósforo = o regex. Executar (ClientStr)
    'ajustar ou começ o valor
    Se fósforo. Contagem > 0 então GetDoors = guarnições (Val (fósforo (0)))
    'objeto da matança
    Ajustar o regex = nada
Terminar a função

Função pública CCRank (de ClientIn variação tão, CWCCIn quanto por muito tempo, varianceIn opcional como o inteiro) como o inteiro

ValueMin não ofuscante como por muito tempo
ValueMax não ofuscante como por muito tempo
ValueIn não ofuscante como por muito tempo
ValueCWIn não ofuscante como por muito tempo

Escurecer A como por muito tempo



ValueCWIn = CWCCIn

Se (varianceIn) = 0 então

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Mais

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Terminar se


    Se ValueCWIn = ClientIn então
       CCRank = 2
       Retirar a função
    Mais
      Para A = ValueMin a ValueMax
        Se ClientIn = A então
           CCRank = 1
           Retirar a função
        Terminar se
      Em seguida A
    Terminar se

CCRank = 0
Função do fim
Função pública BhpStrRank (StrClient como a corda, CWBhp como por muito tempo, variação opcional como o inteiro)
StrCientln não ofuscante como a corda
ValueMin não ofuscante como por muito tempo
ValueMax não ofuscante como por muito tempo
ValueCWIn não ofuscante como por muito tempo
Escurecer A como por muito tempo
Escurecer B como por muito tempo
Escurecer StrTemp como a corda
Escurecer StrTemp2 como a corda
Escurecer StrArray () como a corda
Escurecer contra como o inteiro
Escurecer o teststr como a corda


Se IsNull (ValueCWIn) então
    ValueCWIn = 0
            
Mais
    ValueCWIn = CWBhp
            
Terminar se

Se (varianceIn) = 0 então

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Mais

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Terminar se

Se IsNull (ValueCWIn) = retifica ou ValueCWIn = 0 então

Mais
    Se <= 0 de Len (StrClient) ou IsNull (StrClient) então
    KWStrRank = 0
    Retirar a função
    Mais
        Se ValueCWIn = StrClient então
        BhpStrRank = 2
                       
                        
        Retirar a função
            
        Mais
        StrTemp = SplitNumeralandText (StrClient)
        
            StrTemp2 = RegExpReplace (StrTemp, “[^0-9]”, “")
            StrArray = separação (StrTemp2)
         
            
            Para A = LBound (StrArray ()) A UBound (StrArray ())
                Para B = ValueMin a ValueMax
                    Se (StrComp (StrArray (A), CStr (B), 1) = falso) então
                       
                            BhpStrRank = 1
                       
                        
                        Retirar a função
                    Terminar se
                    B seguinte
            Em seguida A
        Terminar se
        
   Terminar se
Terminar se


BhpStrRank = 0
Função do fim

Função pública KWStrRank (StrClient como a corda, CWKw como por muito tempo, variação opcional como o inteiro)
StrCientln não ofuscante como a corda
ValueMin não ofuscante como por muito tempo
ValueMax não ofuscante como por muito tempo
ValueCWIn não ofuscante como por muito tempo
Escurecer A como por muito tempo
Escurecer B como por muito tempo
Escurecer StrTemp como a corda
Escurecer StrTemp2 como a corda
Escurecer StrArray () como a corda
Escurecer contra como o inteiro
Escurecer o teststr como a corda


Se IsNull (ValueCWIn) então
    ValueCWIn = 0
            
Mais
    ValueCWIn = CWKw
            
Terminar se

Se (varianceIn) = 0 então

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Mais

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Terminar se

Se IsNull (ValueCWIn) = retifica ou ValueCWIn = 0 então

Mais
    Se <= 0 de Len (StrClient) ou IsNull (StrClient) então
    KWStrRank = 0
    Retirar a função
    Mais
        Se ValueCWIn = StrClient então
        KWStrRank = 2
                       
                        
        Retirar a função
            
        Mais
        StrTemp = SplitNumeralandText (StrClient)
        
            StrTemp2 = RegExpReplace (StrTemp, “[^0-9]”, “")
            StrArray = separação (StrTemp2)
         
            
            Para A = LBound (StrArray ()) A UBound (StrArray ())
                Para B = ValueMin a ValueMax
                    Se (StrComp (StrArray (A), CStr (B), 1) = falso) então
                       
                            KWStrRank = 1
                       
                        
                        Retirar a função
                    Terminar se
                    B seguinte
            Em seguida A
        Terminar se
        
   Terminar se
Terminar se


KWStrRank = 0



Função do fim

getTechDetail público da função (StrClient como a corda, TechSpec como a corda, variação opcional como o inteiro) como o inteiro
'StrCientln não ofuscante como a corda
'ValueMin não ofuscante como por muito tempo
'ValueMax não ofuscante como por muito tempo
'ValueIn não ofuscante como por muito tempo
'Escurecer A como por muito tempo
'B não ofuscante como por muito tempo
'StrTemp não ofuscante como a corda
'StrTemp2 não ofuscante como a corda
'StrArray não ofuscante () como a corda
'Contador não ofuscante como o inteiro
'Teststr não ofuscante como a corda

Se StrClient = "" ou “0” então


Mais



Se (variação) = 0 então variações = 5

 
       

     
        
        

 



Se IsNull (ValueIn) = retifica ou ValueIn = 0 então

Mais
    Se <= 0 de Len (StrClient) ou IsNull (StrClient) então
    getTechDetail = 0
    Retirar a função
    Mais
        Se ValueIn = StrClient então
        getTechDetail = 2
                       
                        
        Retirar a função
            
        Mais
        StrTemp = SplitNumeralandText (StrClient)
        
            StrTemp2 = RegExpReplace (StrTemp, “[^0-9]”, “")
            StrArray = separação (StrTemp2)
            ValueMin = ValueIn - variação
            ValueMax = ValueIn + variação
            
            Para A = LBound (StrArray ()) A UBound (StrArray ())
                Para B = ValueMin a ValueMax
                    Se (StrComp (StrArray (A), CStr (B), 1) = falso) então
                       
                            getTechDetail = 1
                       
                        
                        Retirar a função
                    Terminar se
                    B seguinte
            Em seguida A
        Terminar se
        
   Terminar se
Terminar se
Terminar se

getTechDetail = 0
Função do fim
Função pública BodyRank (ClientStr como a corda)
ValueIn não ofuscante como a corda




 
 Se IsNull ([formulários]! [cano principal]! [Corpo comum aliás CW]. Valor) então
    ValueIn = ""
            
 Mais
    ValueIn = [formulários]! [cano principal]! [Corpo comum aliás CW]. Valor
     
 Terminar se

Se StrComp (ValueIn, ClientStr, 1) = falso então
    BodyRank = 1
    Retirar a função
Terminar se

BodyRank = 0

Função do fim
class= do

Resposta : tipo vba do argumento do byref do erro da má combinação

Os olhares de I t como seu problema são que você definiu CWValueIn enquanto a variação & nas funções eles está esperando sempre um longo.
Exemplo KWRank (de ClientIn variação tão, CWKWIn quanto por muito tempo.

Gary
Outras soluções  
 
programming4us programming4us