我有一个Delphi应用程序,它通过调用将一段文本发送到命名管道
SendMessageToNamedPipe(hPipe, CurMsg);
Run Code Online (Sandbox Code Playgroud)
它适用于某些消息,但发送其他文本会导致应用程序崩溃.
我所知道的正常和"崩溃"消息之间的唯一区别是崩溃消息包含大量的西里尔字符.
我应该如何对它们进行编码,以便正确执行上述调用?
更新1:这是实施SendMessageToNamedPipe.
procedure SendMessageToNamedPipe(hPipe:THandle; msg:string);
const
OUT_BUF_SIZE = 100;
var
dwWrite : DWORD;
lpNumberOfBytesWritten : LongBool;
utf8String : RawByteString;
sendBuf: array[0..OUT_BUF_SIZE] of WideChar;
begin
utf8String := UTF8Encode(msg);
sendBuf[0] := #0;
lstrcatw(sendBuf, PChar(msg));
lpNumberOfBytesWritten := WriteFile(hPipe, sendBuf, OUT_BUF_SIZE, dwWrite, NIL);
if not lpNumberOfBytesWritten then
begin
OutputDebugString(PChar('Sending error: ' + SysErrorMessage(GetLastError)));
end
else
begin
OutputDebugString(PChar('Message sent, dwWrite: ' + IntToStr(dwWrite)));
end;
end;
Run Code Online (Sandbox Code Playgroud)
更新2:该功能的版本,似乎工作.
procedure SendMessageToNamedPipe(hPipe:THandle; msg:string);
const
OUT_BUF_SIZE = 200;
var
dwWrite : …Run Code Online (Sandbox Code Playgroud) 我有一个JSF应用程序,并希望分配给在浏览器中打开它的每个用户一个唯一的标识符.
为了实现它,我想使用全局long变量并在新用户连接到Web应用程序时递增它.
我有两个问题:
1)我应该在哪里(以哪种方法)放置增量代码?
2)如何在Web应用程序的Java类中访问该全局变量?
我的Django应用程序的管理员如下所示.

显然,一些样式表已丢失和/或损坏.
问题:
更新1(10.06.2013 00:18 MSK):manage.py collectstatic在以下输出中执行结果,但未更改管理员的外观.
D:\dev\history-site>C:\Python25\python manage.py collectstatic
You have requested to collect static files at the destination
location as specified in your settings.
This will overwrite existing files!
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\bas
e.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\cha
ngelists.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\das
hboard.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\for
ms.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\ie.
css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\log
in.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\rtl
.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\wid
gets.css'
Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\cha
ngelist-bg.gif'
Copying …Run Code Online (Sandbox Code Playgroud) 我想创建一个带有表的面板,它填满了整个可用空间.
我使用以下代码执行此操作:
public class MyFrame extends JFrame {
public EconomyFrame() throws HeadlessException {
super("...");
final JTabbedPane tabbedPane = new JTabbedPane();
add(tabbedPane);
final JPanel companiesPanel = new JPanel();
final CompaniesTableModel companiesModel = new CompaniesTableModel
(ApplicationStateSingleton.INSTANCE.getPersistence().getCompanies());
final JTable companiesTable = new JTable(companiesModel);
ApplicationStateSingleton.INSTANCE.getEventBus().subscribeToPropertyChanges(companiesModel);
companiesPanel.add(new JScrollPane(companiesTable));
tabbedPane.addTab("Companies", companiesPanel);
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为当我调整框架大小时,表格只填充部分可用空间(请参见下面的屏幕截图).
我该如何修复(使表格填满整个可用空间)?


我有一个用Kotlin写的小项目.当我运行时clean compile assembly:single install,我收到以下错误消息:
Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single
(default-cli) on project alma-econsim: Error reading assemblies: No assembly
descriptors found. -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
我jar-with-dependencies.xml位于src/main/assembly中,并在pom.xml中引用,如下所示:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<execution>
<id>assembly</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptors>
<descriptor>src/main/assembly/jar-with-dependencies.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误.我如何更正我的项目,以便能够将其打包为具有依赖关系的jar?
我有一个 NodeJS 项目,其package.json文件包含以下几行:
"scripts": {
[...]
"start:dev": "cross-env NODE_ENV=local supervisor --watch src -- -r '@babel/register' src/server/index.js",
[...]
}
Run Code Online (Sandbox Code Playgroud)
我可以使用在命令行中启动程序npm run start:dev。
现在我想调试一些代码。为此,我使用以下参数在 Idea 中创建了一个 NodeJS 运行配置(粘贴cross-env NODE_ENV=local supervisor --watch src -- -r '@babel/register' src/server/index.js到Node Parameters)。
当我运行它时,我收到以下错误:
/usr/bin/node cross-env NODE_ENV=local supervisor --watch src -- -r '@babel/register' src/server/index.js
Debugger listening on ws://127.0.0.1:43392/5a2c1e8e-a508-4578-8eb0-2bc4f4a63b30
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Waiting for the debugger to disconnect...
internal/modules/cjs/loader.js:775
throw err;
^
Error: Cannot find module '/home/JIT/d.pisarenko/Development/Repositories/git/myproject/cross-env'
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Clojure 对一组特定的数据进行建模
一开始,我希望那段复杂的数据只是一个空集合。在这一点上,我不在乎它是列表、集合还是向量。
(ns clojure-playground.core
(:gen-class))
(def my-complex-object (hash-set))
Run Code Online (Sandbox Code Playgroud)
当我编译这个文件并进入(my-complex-object)REPL 时,出现错误。
同
(def my-complex-object ()),(def my-complex-object []),(def my-complex-object (list)), 和(def my-complex-object '(list)).如何绑定my-complex-object到空集合?
我有以下 Clojure 代码:
(defn is-valid-lang
[lang]
(.contains (list "ru" "en" "de") lang))
(defn s
[txt]
{
:desc txt
:lang "ru"
})
(defn s
[txt lang]
(if-not (is-valid-lang lang)
(throw (.IllegalArgumentException (format "'%s' is an invalid language." lang)))
{
:desc txt
:lang lang
}
)
)
Run Code Online (Sandbox Code Playgroud)
我想编写一个测试来验证s抛出的异常的消息,如果lang无效。
我是这样写的:
(deftest s-lang-invalid-lang-test
(is
(thrown-with-msg?
IllegalArgumentException
#"'invalid-language' is an invalid language."
(s "something" "invalid-language")
)
)
)
Run Code Online (Sandbox Code Playgroud)
由于以下错误,测试失败:
error {
:cause "No matching field found: IllegalArgumentException for class java.lang.String"
:via …Run Code Online (Sandbox Code Playgroud) 想象一下我有一个像
(def nodes ["a", "b", "c"])
Run Code Online (Sandbox Code Playgroud)
我想转换nodes成以下字符串:
a -> b -> c
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
(apply str (mapcat
(fn [node]
(str node " -> ")
)
nodes
)
)
Run Code Online (Sandbox Code Playgroud)
结果是
"a -> b -> c -> "
Run Code Online (Sandbox Code Playgroud)
我现在可以检查结果字符串是否以 结尾,->如果是,则删除最后一个->.
但这似乎不是很优雅。在 Clojure 中执行此操作的正确方法是什么?
更新 1:
(transduce
(fn [rf]
(fn
([] "")
([result] result)
([result input] (str
result
"->"
input))
)
)
cat
""
nodes
)
Run Code Online (Sandbox Code Playgroud)
结果是
"->a->b->c"
Run Code Online (Sandbox Code Playgroud) clojure ×3
java ×3
debugging ×1
delphi ×1
delphi-2009 ×1
django ×1
django-admin ×1
javascript ×1
jsf ×1
jsf-2 ×1
jtable ×1
kotlin ×1
maven ×1
maven-3 ×1
named-pipes ×1
node.js ×1
python ×1
swing ×1
unit-testing ×1