у меня есть этот скрипт для создания штрих-кода в ColdFusion:Barcode128 ошибка - «Либо нет методов с указанным именем метода и аргументов типов»
<cfscript>
code128 = createobject("java","com.lowagie.text.pdf.Barcode128");
code128.setCodeType(code128.CODE128);
/* Set the code to generate */
code128.setCode("123")
color = createobject("java","java.awt.Color");
image = code128.createAwtImage(color.black, color.white);
bufferedImage = createObject("java", "java.awt.image.BufferedImage");
bufferedImageType = bufferedImage.TYPE_BYTE_GRAY;
bufferedImage = bufferedImage.init(image.getWidth(JavaCast("null", "")),image.getHeight(JavaCast("null", "")), bufferedImageType);
graphics2D = bufferedImage.createGraphics();
graphics2D.drawImage(image,0,0,JavaCast("null", ""));
barcodeImage = imageNew(bufferedImage);
</cfscript>
<!--- Output the code as an image --->
<cfimage action="writeToBrowser" source="#barcodeImage#" format="jpg" width="100" height="30">
Я хочу изменить code128.setCode("123")
к чему-то динамический, то есть code128.setCode("#someID#")
, Однако, когда я это делаю, я получаю ошибку CF:
Error message: Either there are no methods with the specified method name and argument types or the setCode method is overloaded with argument types that ColdFusion cannot decipher reliably. ColdFusion found 0 methods that match the provided arguments. If this is a Java object and you verified that the method exists, use the javacast function to reduce ambiguity.
Может кто-нибудь помочь мне с этим?
Вы говорите, код * делает * работа с 'code128.setCode ("123");' но * не * работа с 'code128.setCode (» #someID # ");'? Каково значение # someID #? ** Эта ошибка обычно означает именно то, что она говорит ** - либо a) вы пытаетесь использовать метод, который не существует в классе вообще ИЛИ b) вы передаете неправильный тип значения и должны использовать ' javacast', чтобы преобразовать его. Например, если этот метод ожидает строку 'code128.setCode (javacast (" string ", someID);'. Боковое замечание, не уверен, что это опечатка, но вам не хватает полуколонии на третьей строке. – Leigh